Skip to content

chore: de-submodule ecosystem to a workspace (go.work + sibling repos) - #267

Merged
Patel230 merged 7 commits into
mainfrom
chore/de-submodule-ecosystem
Aug 27, 2026
Merged

chore: de-submodule ecosystem to a workspace (go.work + sibling repos)#267
Patel230 merged 7 commits into
mainfrom
chore/de-submodule-ecosystem

Conversation

@Patel230

@Patel230 Patel230 commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Replaces git submodules under external/ with a workspace go.work that resolves the GrayCodeAI ecosystem repos as siblings (../<repo>).

  • go.work: use . + ../<repo> instead of replace => ./external/<repo>
  • removes external/* submodules + .gitmodules
  • Makefile: setup generates the workspace go.work; release-parity + sync replace submodule targets
  • scripts: release-parity compares go.mod versions vs sibling HEAD; removed 3 obsolete submodule sync scripts; boundary/verify scripts use sibling paths
  • cmd/compat-test: drift check + tests read sibling repos
  • CI/actions: clone siblings into the workspace parent (no submodule init, no Gitlink checks)
  • Dockerfiles: build in module mode against pinned go.mod versions
  • docs/AGENTS.md/README: document the workspace model; added docs/architecture/ecosystem-design.md

Companion PRs (contracts bump to v0.1.12):

Replace git submodules under external/ with a workspace go.work that
resolves the GrayCodeAI ecosystem repos as siblings (../<repo>):

- go.work: use . + ../<repo> instead of replace => ./external/<repo>
- remove external/* submodules and .gitmodules
- Makefile: setup generates the workspace go.work; add release-parity + sync
  targets replacing the submodule sync targets
- scripts: rewrite release-parity to compare go.mod versions vs sibling HEAD;
  drop 3 obsolete submodule sync scripts; update boundary/verify scripts
- cmd/compat-test: drift check + tests read sibling repos
- CI/actions: clone siblings into the workspace parent (no submodule init)
- Dockerfiles: build in module mode against pinned go.mod versions
- docs/AGENTS.md/README: document the workspace model
- add docs/architecture/ecosystem-design.md
Several jobs (deadcode, test, lint, security, fuzz, smoke) still ran
'git submodule update --init external/hawk-mcpkit', which fails now that the
submodules are removed. Remove all remaining occurrences; the checkout-eyrie
action clones the siblings into the workspace parent.
…ine 3.23)

OpenSSL libcrypto3 3.5.7-r0 has CVE-2026-14456 (HIGH, DoS). The fix
(3.5.8-r0) is not yet published in the Alpine 3.23 repository (latest
alpine:3.23 still ships 3.5.7-r0). Hawk is a Go binary that does not link
libcrypto, so this is not reachable at runtime. Add the CVE to .trivyignore
with justification until Alpine publishes the patch, and wire the ignorefile
into the Docker Trivy scans.
The trivy-action trivyignores input sets TRIVY_IGNOREFILE to a relative
./trivyignores path that does not resolve in CI. Trivy auto-loads .trivyignore
from its working directory by default, so drop the input and rely on the
committed .trivyignore at the repo root.
trivy in CI does not auto-load .trivyignore from its working directory, and
the trivy-action's trivyignores input resolves the ignore file relative to a
path trivy cannot see. Replace the trivy-action scan steps with setup-trivy +
an explicit 'trivy image --ignorefile <abs path>' command so CVE-2026-14456
(OpenSSL; fixed libcrypto 3.5.8-r0 not yet in Alpine 3.23) is honored.
@Patel230
Patel230 merged commit cac6958 into main Aug 27, 2026
26 checks passed
@Patel230
Patel230 deleted the chore/de-submodule-ecosystem branch August 27, 2026 08:56
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