Skip to content

fix(ci): lint + checkout-eyrie fallback + marketplace sync - #83

Merged
Patel230 merged 3 commits into
mainfrom
fix/ci-lint-main
Jul 4, 2026
Merged

fix(ci): lint + checkout-eyrie fallback + marketplace sync#83
Patel230 merged 3 commits into
mainfrom
fix/ci-lint-main

Conversation

@Patel230

@Patel230 Patel230 commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

Changes

  • markdownlint: fix MD004/ul-style, MD012/no-multiple-blanks, MD014/commands-show-output, MD025/single-title, MD030/list-marker-space, MD050/strong-style in spec/ files
  • golangci-lint: remove 5 dead functions (, , , wrappers, )
  • checkout-eyrie: add fallback when submodule commit is unreachable — retry via full clone of main branch
  • external repos: re-clone all 7 external ecosystem repos into hawk/external/

All CI checks passing locally with golangci-lint and markdownlint-cli2.

@Patel230
Patel230 merged commit 06e5667 into main Jul 4, 2026
18 checks passed
@Patel230
Patel230 deleted the fix/ci-lint-main branch July 4, 2026 17:20
Patel230 added a commit that referenced this pull request Jul 11, 2026
* fix(ci): lint + checkout-eyrie fallback + marketplace sync

* style: fix gofumpt formatting in chat_scrollbar.go

* fix(ci): add sync.Mutex to fix race in executeToolCalls
Patel230 added a commit that referenced this pull request Jul 16, 2026
* fix(ci): lint + checkout-eyrie fallback + marketplace sync

* style: fix gofumpt formatting in chat_scrollbar.go

* fix(ci): add sync.Mutex to fix race in executeToolCalls
Patel230 added a commit that referenced this pull request Aug 23, 2026
The previous commit carried the submodule working tree at a7c4b99d
(toolschema #83) while pinning the module to a1d1863f (#82) — a parity
mismatch. Pin the gitlink to a1d1863f on this branch; #83's pointer
lands with the stacked wiring PR. Also commit go.work.sum drift from
go work sync.
Patel230 added a commit that referenced this pull request Aug 23, 2026
…235)

* feat(elision): invariant-bearing truncation markers; bump tok to #82

Bumps the tok submodule to a1d1863f (tok#82: verified-fact elision
summaries) and wires it into every tool-output truncation site.

Hawk's markers previously said only '... (truncated)'. Measured agent
behavior shows bare-count markers cause 11-97 retrieval-call storms,
because the reader cannot tell whether the answer was in the dropped
portion. Every marker now carries facts VERIFIED across the elided
units and nothing else:

- JSON tool output: '{sku-114..159} N records elided: status=shipped
  x46, range id=...' — field constants, enumerations summing to the
  total, numeric ranges, distinct-count coverage, dense-run upgrades.
  Structural cuts now splice at TOP-LEVEL commas (depth-aware scan)
  so kept records stay complete and the dropped tail parses as whole
  records; mid-record raw cuts still fail closed to the bare marker.
- Log-shaped output: level distribution ('N lines elided: info x6').
- Prose/unknown: unchanged bare marker.

Fail-closed preserved throughout: anything unparseable or under the
3-unit threshold truncates exactly as before. New elision.go exposes
the shared notice builder; internal/token facades the two new tok
primitives. Full engine suite green.

* fix(deps): pin tok module to merged #82 commit for submodule parity

The release-parity check resolves each submodule's go.mod version and
requires it to equal the index gitlink. Bumping the gitlink without
updating the module requirement left CI resolving old tok (643b6675),
which lacks JSONInvariants/LogInvariants — breaking module hygiene
builds. Pin the require directive to a1d1863f (#82).

* fix(deps): point tok gitlink at #82 exactly; go work sync

The previous commit carried the submodule working tree at a7c4b99d
(toolschema #83) while pinning the module to a1d1863f (#82) — a parity
mismatch. Pin the gitlink to a1d1863f on this branch; #83's pointer
lands with the stacked wiring PR. Also commit go.work.sum drift from
go work sync.
Patel230 added a commit that referenced this pull request Aug 23, 2026
Wires tok's new toolschema compressor (GrayCodeAI/tok#83) into the
outgoing request path behind HAWK_TOOL_SHRINK=1 (default off, request
bytes unchanged).

At ChatService.BuildOptions the tool list converts to the OpenAI
function-catalog wire shape, shrinks, and converts back. Fail-open
guarantees: any marshal/unmarshal error, tool-count drift, or name
mismatch at any position returns the original list untouched; disabled
or not-smaller catalogs are no-ops. When compression lands, the exact
pre-shrink catalog persists under state/tool-catalog-originals/<sha>.json
keyed by content hash for recovery and diffing, and a one-time info log
reports before/after byte counts.

Facades extended: internal/token aliases tok.ToolShrinkStats and exposes
ShrinkToolCatalog/LintToolCatalog; internal/engine/token re-exports.

Submodule bump includes tok#82 invariants (already wired separately on
feat/invariant-markers; this branch stacks on it for the pointer).

New tests: disabled-by-default no-op, enabled reduction with name/
constraint/required preservation through BuildOptions, and recovery-file
persistence.
Patel230 added a commit that referenced this pull request Aug 23, 2026
Rebase onto post-#235 main; update the tok require directive to the
toolschema merge and align the gitlink, satisfying release parity.
Patel230 added a commit that referenced this pull request Aug 23, 2026
#236)

* feat(tools): opt-in tool-catalog shrink via tok; bump submodule to #83

Wires tok's new toolschema compressor (GrayCodeAI/tok#83) into the
outgoing request path behind HAWK_TOOL_SHRINK=1 (default off, request
bytes unchanged).

At ChatService.BuildOptions the tool list converts to the OpenAI
function-catalog wire shape, shrinks, and converts back. Fail-open
guarantees: any marshal/unmarshal error, tool-count drift, or name
mismatch at any position returns the original list untouched; disabled
or not-smaller catalogs are no-ops. When compression lands, the exact
pre-shrink catalog persists under state/tool-catalog-originals/<sha>.json
keyed by content hash for recovery and diffing, and a one-time info log
reports before/after byte counts.

Facades extended: internal/token aliases tok.ToolShrinkStats and exposes
ShrinkToolCatalog/LintToolCatalog; internal/engine/token re-exports.

Submodule bump includes tok#82 invariants (already wired separately on
feat/invariant-markers; this branch stacks on it for the pointer).

New tests: disabled-by-default no-op, enabled reduction with name/
constraint/required preservation through BuildOptions, and recovery-file
persistence.

* fix(deps): pin tok module to #83 (a7c4b99d) for submodule parity

Rebase onto post-#235 main; update the tok require directive to the
toolschema merge and align the gitlink, satisfying release parity.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant