Build #438 slice 1: implementation-open binds session + ticket + map #440
Labels
No labels
P0
P1
P2
P3
bug
create
delete
enhancement
filed-by/agent
filed-by/user
frozen
lint-rule
needs-info
needs-triage
next
plugin/cc-architect
plugin/os
plugin/os-adr
plugin/os-aidd-lint
plugin/os-backlog
plugin/os-context
plugin/os-doc-hygiene
plugin/os-sdlc
plugin/os-vault
project/cc-os
ready-for-agent
ready-for-human
recurring
review
update
waiting
wayfinder:grilling
wayfinder:map
wayfinder:map
wayfinder:research
wayfinder:task
wayfinder:task
wontfix
worklist/deviations
worklist/lint-rule
worklist/new-implement-build
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
jared/cc-os#440
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent
#438 (map-driven os-sdlc runner build spec). Design: docs/os-sdlc-
rebuild/map-runner-design.md. Settled decisions + guard-manifest process:
docs/os-sdlc-rebuild/interface-sketches.md.
Pre-build gate
First step before any code: run the seam-design pass per docs/os-sdlc-
rebuild/seam-design-prompt.md to produce this slice's interface sketch. The
sketch is the guard manifest: any class, public method, or signature change
beyond it → stop, comment on this ticket, do not write it.
What to build
The E1 entrypoint opens an implementation: given SESSION_ID, TICKET,
MAP_PATH it loads and validates the map via slice 0's MapLoader, binds
session + ticket + map, and returns the entry node's instructions. Schema
bump (wipe-on-version, no migration) — MUST include implementations.position
now (settled decision; avoids a second wipe at slice 4).
Acceptance criteria
[ ] Opening with a valid map returns implementation_id, entry node, and
entry instructions
[ ] Opening with an invalid map fails loudly with the named defect, exit 3,
nothing persisted
[ ] implementations.position column exists in the bumped schema
[ ] Tests exercise the public CLI entrypoint against a disposable database
Blocked by
Origin
• Trigger: /to-tickets decomposition of #438 (2026-08-20, user-directed)
• Improvised this session: none
• Chain: DESIGN (docs/os-sdlc-rebuild/map-runner-design.md, docs/os-sdlc-
rebuild/interface-sketches.md, ADR-0133/0134/0135)
• Root candidate: #438
Work started: building slice 1 via the TDD loop on branch build/438-slice-1. Seam-design pass running first per the pre-build gate.
Resolution
Done: Slice 1 built TDD-first on branch build/438-slice-1, merged to main at
408cabd. E1 implementation-open binds session+ticket+map via OpenImplementation and WorkOrder value object; schema 6 adds implementations ticket/map_path/position; invalid map fails with named defect, exit 3, nothing persisted; round-open renamed with no alias (D11). Sketch decisions D9-D13 approved by the user and recorded in interface-sketches.md.Evidence: ruby -Ilib tests/all.rb: 811 runs, 2078 assertions, 0 failures, 0 errors, 0 skips (verified by orchestrator). rubocop on the six touched lib files: no offenses. 9 CLI subprocess tests in tests/runner/cli_implementation_open_test.rb cover all four acceptance criteria.
Follow-ups: Doc/skill sweep of remaining round-open wording is already owned by slice 7 (existing #438 child ticket). Slice-2 instructions-representation question is owned by the slice-2 seam-design pass. MapLoader missing-file defect (:missing_map_file) dropped: outside #440 AC, exit 3 still occurs via the CLI blanket rescue.