Delete the Go semantic layer and drop the KDL dependency #339

Open
opened 2026-08-25 17:09:31 +00:00 by coilyco-ops · 0 comments
Member

Parent

#329

What to build

The teardown. With the compositor proven at parity and the roster mounted, remove what Go no longer owns.

  • Delete merge, conflict detection, copy-contract validation, role-skill frontmatter validation, meld resolution, and color derivation from internal/person and internal/color. That package largely dissolves.
  • Delete request.kdl and every compose-request fixture under testdata/contracts/. These are deleted rather than converted, because a binary that does not compose has no compose request. The compose command and its request language go with them.
  • Remove github.com/calico32/kdl-go from go.mod. internal/schema/schema.go is the other importer, and its .agents/roles.kdl reading is the only remaining use, so it either converts here or this slice waits behind #341. Decide which when the slice is picked up, and record the choice.
  • Delete docs/kdl-contracts.md and update every doc that describes agent-compose as owning composition.

What stays, deliberately. agent-compose verify and the structural checks under it: symlink and special-file rejection, path escape rejection, entry-point validation, delivery-mode checking, and trace-to-identity-tree consistency. That is a program refusing to write a malformed tree to disk, not an engine judging whether a roster means anything. #329 decision 4 covers why this is not the removed gatekeeper returning.

The differential oracle from #333 disappears when this lands, so any parity question must already be settled.

Acceptance criteria

  • No .kdl file remains in the repository, except any deferred to #341 with that deferral recorded.
  • No Go file imports kdl-go, and it is absent from go.mod and go.sum.
  • internal/person carries no merge, validation, meld-resolution, or color-derivation logic.
  • The compose command and the compose-request language are gone.
  • agent-compose verify still rejects every malformed tree its tests cover today.
  • docs/ownership.md, docs/person-contract.md, docs/person-packages.md, docs/bundle-protocol.md, and docs/architecture.md describe Go as a delivery and launch tool rather than a composition engine.
  • docs/FEATURES.md records the change, since the config language and the location of composition are both public boundaries.
  • just smoke passes. Note that #319 reports it red on main since before the reflow, so that has to be resolved or explicitly carried.

Blocked by

## Parent #329 ## What to build The teardown. With the compositor proven at parity and the roster mounted, remove what Go no longer owns. * Delete merge, conflict detection, copy-contract validation, role-skill frontmatter validation, meld resolution, and color derivation from `internal/person` and `internal/color`. That package largely dissolves. * Delete `request.kdl` and every compose-request fixture under `testdata/contracts/`. These are **deleted rather than converted**, because a binary that does not compose has no compose request. The `compose` command and its request language go with them. * Remove `github.com/calico32/kdl-go` from `go.mod`. `internal/schema/schema.go` is the other importer, and its `.agents/roles.kdl` reading is the only remaining use, so it either converts here or this slice waits behind #341. Decide which when the slice is picked up, and record the choice. * Delete `docs/kdl-contracts.md` and update every doc that describes agent-compose as owning composition. **What stays, deliberately.** `agent-compose verify` and the structural checks under it: symlink and special-file rejection, path escape rejection, entry-point validation, delivery-mode checking, and trace-to-identity-tree consistency. That is a program refusing to write a malformed tree to disk, not an engine judging whether a roster means anything. #329 decision 4 covers why this is not the removed gatekeeper returning. The differential oracle from #333 disappears when this lands, so any parity question must already be settled. ## Acceptance criteria - [ ] No `.kdl` file remains in the repository, except any deferred to #341 with that deferral recorded. - [ ] No Go file imports `kdl-go`, and it is absent from `go.mod` and `go.sum`. - [ ] `internal/person` carries no merge, validation, meld-resolution, or color-derivation logic. - [ ] The `compose` command and the compose-request language are gone. - [ ] `agent-compose verify` still rejects every malformed tree its tests cover today. - [ ] `docs/ownership.md`, `docs/person-contract.md`, `docs/person-packages.md`, `docs/bundle-protocol.md`, and `docs/architecture.md` describe Go as a delivery and launch tool rather than a composition engine. - [ ] `docs/FEATURES.md` records the change, since the config language and the location of composition are both public boundaries. - [ ] `just smoke` passes. Note that #319 reports it red on main since before the reflow, so that has to be resolved or explicitly carried. ## Blocked by - Blocked by #338 - Blocked by #336
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-flight-deck/agent-compose#339
No description provided.