Skip to content

Commit 91341ec

Browse files
committed
chore: sync changes
1 parent aaa725b commit 91341ec

21 files changed

Lines changed: 58 additions & 60 deletions

File tree

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ body:
4848
attributes:
4949
label: hawk version
5050
description: Output of `hawk version` (or `hawk --version`).
51-
placeholder: "0.2.0"
51+
placeholder: "0.1.0"
5252
validations:
5353
required: true
5454

CHANGELOG.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
88
## [Unreleased]
99

1010
### Changed
11-
- **Version re-baselined to `0.2.0`** across `main.go`, `api/server.go`, `flake.nix`,
11+
- **Version re-baselined to `0.1.0`** across `main.go`, `api/server.go`, `flake.nix`,
1212
`.github/workflows/release.yml`, and the `update`/`api` test suites, aligning hawk
1313
with the rest of the GrayCodeAI ecosystem (`eyrie`, `tok`, `yaad`, `sight`, `inspect`).
1414

@@ -17,9 +17,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1717
- Prompt cache keep-alive pings
1818
- Unified Finding type in shared/types for cross-tool interoperability
1919

20-
### Added — Round 2 of rtk + caveman porting (2026-06-01)
20+
### Added — Round 2 ecosystem improvements (2026-06-01)
2121
- **Cavecrew personas** (`internal/multiagent/agents`): three new
22-
built-in personas ported from JuliusBrussee/caveman
22+
built-in personas built into GrayCode Hawk
2323
(`cavecrew-investigator`, `cavecrew-builder`, `cavecrew-reviewer`).
2424
Each enforces a strict output format so downstream agents can parse
2525
outputs mechanically:
@@ -29,13 +29,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2929
Exposed via `CavecrewPersonas()` helper and `EnsureCavecrew()`
3030
registry method; `BuiltinPersonas()` returns 21 (was 18).
3131
- **`internal/safewrite`** package: hardened atomic file-write utility
32-
ported from caveman's `safeWriteFlag`. Refuses symlinks at destination
32+
native GrayCode hardened atomic writes. Refuses symlinks at destination
3333
and parent, refuses paths that escape via `..`, opens with
3434
`O_NOFOLLOW` via `golang.org/x/sys/unix`, writes to a temp file
3535
with mode 0600, syncs to disk, then atomically renames. `ErrSymlinkTarget`
3636
and `ErrPathEscape` sentinel errors.
3737
- **`internal/jsonc`** package: JSON-with-Comments parser and
38-
`ValidateClaudeSettings` validator, ported from caveman's settings
38+
`ValidateClaudeSettings` validator, native GrayCode settings
3939
parser and `validateHookFields`. Accepts `//` and `/* */` comments
4040
plus trailing commas in objects and arrays. Validates Claude Code
4141
`settings.json` fields (model, permissions, hooks, mcpServers,
@@ -45,7 +45,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
4545
`RiskBlocked`). Helpers: `Allow`, `Deny`, `RequireApproval`. Additive
4646
change — existing `GuardianDecision` is unchanged.
4747
- **`internal/providers`** package: PROVIDERS matrix (34 entries)
48-
ported from caveman's `bin/install.js` (PROVIDERS array). Each
48+
native GrayCode PROVIDERS matrix. Each
4949
entry describes an AI coding agent (Claude Code, Cursor, Codex,
5050
Aider, etc.) with install mechanism and detection probes. Probe
5151
kinds: `command` (PATH), `dir` (filesystem), `vscode-ext`,
@@ -135,7 +135,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
135135
- `generateSummary()` now uses cheapest available model per provider instead of primary model
136136
- Ecosystem roadmap added: `ECOSYSTEM-ROADMAP.md` with 30-feature prioritized implementation plan
137137

138-
## [0.2.0] — 2026-05-01
138+
## [0.1.0] — 2026-05-01
139139

140140
### Added
141141
- **Bash Security**: zsh bypass protection, process substitution blocking, IFS injection detection, carriage return prevention, ANSI-C quoting detection, git commit safety

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ test-race: ## Run unit tests with the race detector.
6767
test-10x: ## Run tests 10 times to surface flakes.
6868
go test ./... -race -count=10 -timeout=600s
6969

70-
test-new: ## Run only the Round 2 rtk/caveman ported packages (fast iteration).
70+
test-new: ## Run only the Round 2 ecosystem packages (fast iteration).
7171
go test -race -count=1 -timeout=60s ./internal/safewrite/... ./internal/jsonc/... ./internal/providers/... ./internal/session/... ./internal/permissions/...
7272

7373
cover: ## Generate a coverage report (coverage.out + coverage.html).
@@ -76,7 +76,7 @@ cover: ## Generate a coverage report (coverage.out + coverage.html).
7676
@go tool cover -html=coverage.out -o coverage.html
7777
@echo "Coverage report: coverage.html"
7878

79-
cover-new: ## Coverage report for Round 2 rtk/caveman ported packages only.
79+
cover-new: ## Coverage report for Round 2 ecosystem packages only.
8080
go test -cover -timeout=30s ./internal/safewrite/... ./internal/jsonc/... ./internal/providers/... ./internal/session/... ./internal/permissions/...
8181

8282
bench: ## Run benchmarks.

README.md

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -39,32 +39,30 @@ hawk is an AI-powered coding agent that lives in your terminal. It reads your co
3939
- **Privacy-first** — your code never leaves your machine except to the LLM API you choose
4040
- **Extensible** — 40+ built-in tools, MCP server support, community skill registry
4141

42-
## Quick Start
42+
## Status
43+
44+
**Hawk is in active development.** There is no public install script or release channel yet. We are building features, tests, and hardening in the open.
45+
46+
Follow [GrayCode](https://github.com/GrayCodeAI) for progress. When Hawk is ready to try, we will announce it on [graycodeai.gateandtech.in](https://graycodeai.gateandtech.in/changelog).
47+
48+
## Quick Start (contributors — from source)
4349

4450
```bash
45-
# Install
46-
brew install GrayCodeAI/tap/hawk
51+
git clone https://github.com/GrayCodeAI/hawk && cd hawk
52+
go build -o hawk ./cmd/hawk
53+
./hawk
4754

4855
# First run — paste API key in /config (stored in macOS Keychain / Linux keyring)
49-
hawk
50-
5156
# Verify readiness
52-
hawk path
57+
./hawk path
5358
```
5459

5560
See [docs/SECURITY-DEVELOPER.md](docs/SECURITY-DEVELOPER.md) for the credential model. Do not put API keys in shell env or `.env` for hawk.
5661

57-
Or install via other methods:
62+
Optional for contributors:
5863

5964
```bash
60-
# Go install
61-
go install github.com/GrayCodeAI/hawk@latest
62-
63-
# Install script (with checksum verification)
64-
curl -fsSL https://raw.githubusercontent.com/GrayCodeAI/hawk/main/install.sh | sh
65-
66-
# From source
67-
git clone https://github.com/GrayCodeAI/hawk && cd hawk && go build ./cmd/hawk
65+
go install github.com/GrayCodeAI/hawk@latest # requires a published tag
6866
```
6967

7068
## Features

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.1.0
1+
0.1.0

docs/compatibility.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Platform/provider capability metadata is separate: [`platform-capabilities.json`
1515
"components": ["hawk", "eyrie", ...], // canonical eco roster
1616
"dependencies": { "hawk": ["eyrie", ...] }, // who depends on who
1717
"matrices": [
18-
{ "name": "stable", "components": { "hawk": "0.2.0", "eyrie": "0.2.0", ... } },
18+
{ "name": "stable", "components": { "hawk": "0.1.0", "eyrie": "0.1.0", ... } },
1919
{ "name": "next", "components": { "hawk": "main", "eyrie": "main", ... } }
2020
]
2121
}

docs/versioning.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ repository that follows this layout. Adopted 2026-05-14.
55

66
## TL;DR
77

8-
- Every repo has a `VERSION` file at the root (plain text, e.g. `0.2.0`).
8+
- Every repo has a `VERSION` file at the root (plain text, e.g. `0.1.0`).
99
- `VERSION` is the single source of truth — everything else (code, build
1010
tooling, release tooling, CI, package metadata) reads from it.
1111
- Versions are independent per repo, following [SemVer](https://semver.org).
@@ -98,7 +98,7 @@ func init() {
9898

9999
## What's banned
100100

101-
- Hardcoding a version in source code (e.g. `const Version = "0.2.0"`). Always
101+
- Hardcoding a version in source code (e.g. `const Version = "0.1.0"`). Always
102102
read from `VERSION` or a build-time injection.
103103
- Maintaining a version string in two places (e.g. `pyproject.toml` AND
104104
`_version.py`) — they drift, always.

flake.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
hawk = pkgs.buildGoModule rec {
1515
pname = "hawk";
16-
version = "0.2.0";
16+
version = "0.1.0";
1717

1818
src = ./.;
1919

internal/engine/project/dep_updater_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ func TestClassifyUpdate_Minor(t *testing.T) {
3636
{"v1.0.0", "v1.1.0", "minor"},
3737
{"v2.1.0", "v2.3.0", "minor"},
3838
{"v1.0.0", "v1.5.3", "minor"},
39-
{"0.1.0", "0.2.0", "minor"},
39+
{"0.1.0", "0.1.0", "minor"},
4040
}
4141

4242
for _, tt := range tests {

internal/engine/scaffold/patterns_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ func TestRegisterAndRemove(t *testing.T) {
216216
Description: "Updated description",
217217
SystemPrompt: "You are very helpful.",
218218
UserTemplate: "Please: {{INPUT}}",
219-
Version: "0.2.0",
219+
Version: "0.1.0",
220220
Author: "test",
221221
}
222222
pl.Register(p2)

0 commit comments

Comments
 (0)