Skip to content

chore: repin external architecture dependencies#67

Closed
Patel230 wants to merge 25 commits into
mainfrom
docs/contracts-architecture-truth
Closed

chore: repin external architecture dependencies#67
Patel230 wants to merge 25 commits into
mainfrom
docs/contracts-architecture-truth

Conversation

@Patel230

Copy link
Copy Markdown
Contributor

Summary

  • repin Hawk external/* submodules to the merged upstream support-repo main SHAs
  • sync Hawk to the post-merge upstream architecture state
  • keep the local integration snapshot aligned with the merged ecosystem repos

Test plan

  • go work sync
  • /bin/sh ./scripts/check-shared-types-imports.sh
  • /bin/sh ./scripts/check-ecosystem-boundaries.sh
  • go test ./internal/testaudit -count=1

Patel230 added 25 commits June 21, 2026 06:10
Add the hawk-core-contracts module to the local workspace and migrate Hawk runtime, session, policy, event, review, and verification boundaries to consume neutral contracts instead of leaking Hawk internals or eyrie/client types.

Also add import guardrails, architecture docs, and the sight/inspect submodule adapter commits required by the Hawk bridge layer.
…ality

The contracts architecture docs described an aspirational state that did not
match the implemented module. Bring them in sync with the code:

- dependency-rules: split the required graph (always-true edges) from contract
  edges. Document that an engine depends on hawk-core-contracts only when it
  produces/consumes a cross-repo contract. Reflect actual state: sight, inspect,
  and tok consume contracts; eyrie, yaad, and trace share no cross-repo types
  and stay contract-free. Mark enforcement (boundary guards in CI) as done and
  record open items (unpublished v0.0.0 module, rg dependency in guards).
- contracts-spec: drop the non-existent `engines/` and `sessions/` packages from
  the "present" layout (kept as explicitly planned), and replace the aspirational
  type list with the contracts that actually exist per package.
- migration backlog: record removal of the duplicate tok/types definitions.
Match the established ecosystem binding (eyrie/sight/etc.): require the module
by published version and keep the local redirect in go.work, not go.mod.

- go.mod: require hawk-core-contracts v0.1.0 (was v0.0.0), drop the
  `replace => ./external/hawk-core-contracts`
- go.work: move hawk-core-contracts into the replace block alongside the other
  engines (was a stray `use` directive)

Local builds resolve via go.work -> ./external/hawk-core-contracts; CI will
resolve the published v0.1.0 once the module is tagged. Matches eyrie exactly.
Update architecture.md to reflect the finished contracts migration and pin
the external hawk-core-contracts checkout to the refreshed README.
Document the shipping bar for the contracts-and-boundaries refactor,
including explicit non-goals and post-v1 contract governance rules.
- FromClientStreamResult: add context.WithCancel + select so goroutine
  unblocks and exits when Close() is called instead of blocking forever
- session.Message: add Thinking, ContentParts, Images fields so
  save/restore no longer silently drops extended-thinking and multimodal
  data; update both conversion functions to map them
- ci: move check-support-repo-coupling.sh from format job (no external
  repos present) to vet job (has checkout-eyrie) so the guard actually
  runs against the ecosystem
@Patel230

Copy link
Copy Markdown
Contributor Author

Superseded by #68, which is the same repin change rebuilt as a clean one-commit branch on top of current main.

@Patel230 Patel230 closed this Jun 23, 2026
@Patel230
Patel230 deleted the docs/contracts-architecture-truth branch June 24, 2026 13:52
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