main · last commit
13 days ago ·
7g0stsfu
ah-efe.1 SPEC section 5/6: refresh domain model and port interfaces to delivered reality
Past Stand
bd reopen ah-efe.1
| Created by | Eugene Blikh |
| Owner | bigbes@gmail.com |
| Created | 2026-07-19T23:38:08Z |
| Started | 2026-08-04T23:39:08Z |
| Updated | 2026-08-04T23:50:20Z |
| Closed | 2026-08-04T23:50:20Z |
Normative sections are stale: CanClaim omits ready as a claimable state (transitions.go:19 allows it for the ah-4el verdict-routing re-claim path); the State const block is missing blocked/question; TaskRecord lacks AutoRoutes, RunSummary lacks Summary/Verdict; RequestedTask/QARequest/PublishDoc types are absent; Board is missing CreateTask/Comments/SwapLabel, Runner missing RequestedTasks/AskedQuestion/Answer/PublishRequests/ArchiveWorktree, Store missing the lineage/kv/qa methods, StartSpec gained Artifacts+ToolToken. Sync both sections to internal/domain + internal/ports or add an explicit Stage 3-4 additions subsection. SPEC-gap audit 2026-07-20.
ah-efe
— Docs: SPEC refresh to Stage 3-4 + Yonote reality
parent-child
closed
Nothing depends on this issue.
| id | ah-efe.1 |
| content_hash | 884bcca39d4aaee0fdbe2605220ac5c3264a452b21a1eaf9fff99288358faab6 |
| title | SPEC section 5/6: refresh domain model and port interfaces to delivered reality |
| description | Normative sections are stale: CanClaim omits ready as a claimable state (transitions.go:19 allows it for the ah-4el verdict-routing re-claim path); the State const block is missing blocked/question; TaskRecord lacks AutoRoutes, RunSummary lacks Summary/Verdict; RequestedTask/QARequest/PublishDoc types are absent; Board is missing CreateTask/Comments/SwapLabel, Runner missing RequestedTasks/AskedQuestion/Answer/PublishRequests/ArchiveWorktree, Store missing the lineage/kv/qa methods, StartSpec gained Artifacts+ToolToken. Sync both sections to internal/domain + internal/ports or add an explicit Stage 3-4 additions subsection. SPEC-gap audit 2026-07-20. |
| design | |
| acceptance_criteria | |
| notes | |
| status | closed |
| priority | 3 |
| issue_type | chore |
| assignee | NULL |
| estimated_minutes | NULL |
| created_at | 2026-07-19T23:38:08Z |
| created_by | Eugene Blikh |
| owner | bigbes@gmail.com |
| updated_at | 2026-08-04T23:50:20Z |
| closed_at | 2026-08-04T23:50:20Z |
| closed_by_session | |
| external_ref | NULL |
| spec_id | |
| compaction_level | 0 |
| compacted_at | NULL |
| compacted_at_commit | NULL |
| original_size | NULL |
| sender | |
| ephemeral | 0 |
| wisp_type | |
| pinned | 0 |
| is_template | 0 |
| mol_type | |
| work_type | |
| source_system | |
| metadata | �{} |
| source_repo | |
| close_reason | Done in 119b84d. §5/§6 contradicted nothing in §12 but were roughly two stages behind the code. §5's State block was missing StateBlocked and StateQuestion (the two Stage-4 real states); the RunState* and Verdict* const blocks were absent; TaskRecord lacked AutoRoutes; RunSummary lacked Summary/Verdict; and RequestedTask, QARequest and PublishDoc did not appear at all — every one now does, field-for-field against internal/domain/types.go. OutcomeError's comment still read 'exit != 0', which 665e805 (ah-tqc) falsified: a zero exit contradicted by the event stream's last message_end stopReason 'error' now also produces error, so §5 was contradicting the §9 prose that same commit added. Corrected, and Run.State now names the RunState* constants instead of bare strings. The CanClaim paragraph omitted 'ready' — claimable since the ah-4el verdict-routing re-claim path — so it now lists the full claimable set, names the deliberately-unclaimable complement {in_progress, blocked, question} and why, and mentions States()/Valid()/CanonicalBuckets(). §6's preamble claimed reconcile imports only domain/ports/config/spec; it now records the three Stage-3/4 additions (ctxpack, mem0, yonote) and why none is a port. Board gained CreateTask/Comments/SwapLabel plus NewTask; StartSpec gained Artifacts and ToolToken plus the Artifact type; Runner gained RequestedTasks/AskedQuestion/Answer/PublishRequests (documented as one zero-value-means-not-requested family) plus ArchiveWorktree and ArchiveResult; Store gained the lineage (RecordChild/GenerationOf/ParentOf/ChildIDsOf), kv (GetKV/SetKV) and Q&A (CreateQA/QAByTask/QAByComment/MarkQAAnswered) methods. §5 principle 5 was already correct and left alone. Every signature and comment is traceable to internal/domain/ or internal/ports/ as of this commit. |
| event_kind | |
| actor | |
| target | |
| payload | |
| await_type | |
| await_id | |
| timeout_ns | 0 |
| waiters | |
| hook_bead | |
| role_bead | |
| agent_state | |
| last_activity | NULL |
| role_type | |
| rig | |
| due_at | NULL |
| defer_until | NULL |
| no_history | 0 |
| started_at | 2026-08-04T23:39:08Z |
| is_blocked | 0 |
| issue_id | ah-efe.1 |
| label | milestone:v0.1.0 |
| issue_id | ah-efe.1 |
| label | milestone:v0.2.0 |
| id | 03d8d578-59cd-5897-8451-bfee82354378 |
| issue_id | ah-efe.1 |
| type | parent-child |
| created_at | 2026-07-20T02:38:07Z |
| created_by | Eugene Blikh |
| metadata | �{} |
| thread_id | |
| depends_on_issue_id | ah-efe |
| depends_on_wisp_id | NULL |
| depends_on_external | NULL |
| id | 019f7cbe-8253-753b-aa84-c291eb7768f9 |
| issue_id | ah-efe.1 |
| event_type | created |
| actor | Eugene Blikh |
| old_value | |
| new_value | |
| comment | NULL |
| created_at | 2026-07-20T02:38:07Z |
| id | 019f7cda-2c40-7e30-a2f6-1b8629229331 |
| issue_id | ah-efe.1 |
| event_type | label_added |
| actor | Eugene Blikh |
| old_value | NULL |
| new_value | NULL |
| comment | Added label: milestone:spec-refresh |
| created_at | 2026-07-20T03:08:20Z |
| id | 019f7cdb-f52e-7a25-943e-16309c39ba39 |
| issue_id | ah-efe.1 |
| event_type | label_removed |
| actor | Eugene Blikh |
| old_value | NULL |
| new_value | NULL |
| comment | Removed label: milestone:spec-refresh |
| created_at | 2026-07-20T03:10:17Z |
| id | 019f7cdc-faed-7e21-8ce5-e1d4c9b7fc7c |
| issue_id | ah-efe.1 |
| event_type | label_added |
| actor | Eugene Blikh |
| old_value | NULL |
| new_value | NULL |
| comment | Added label: milestone:v0.1.0 |
| created_at | 2026-07-20T03:11:24Z |
| id | 019f7cdf-27e3-7449-a5e1-6b17d2120268 |
| issue_id | ah-efe.1 |
| event_type | label_removed |
| actor | Eugene Blikh |
| old_value | NULL |
| new_value | NULL |
| comment | Removed label: milestone:v0.1.0 |
| created_at | 2026-07-20T03:13:47Z |
| id | 019f7cdf-2962-7d94-ae88-0f1877a82ee2 |
| issue_id | ah-efe.1 |
| event_type | label_added |
| actor | Eugene Blikh |
| old_value | NULL |
| new_value | NULL |
| comment | Added label: milestone:v0.2.0 |
| created_at | 2026-07-20T03:13:47Z |
| id | 019fcf25-2d5d-7488-8f7d-0e292417c3cb |
| issue_id | ah-efe.1 |
| event_type | status_changed |
| actor | Eugene Blikh |
| old_value | {"id":"ah-efe.1","title":"SPEC section 5/6: refresh domain model and port interfaces to delivered reality","description":"Normative sections are stale: CanClaim omits ready as a claimable state (transitions.go:19 allows it for the ah-4el verdict-routing re-claim path); the State const block is missing blocked/question; TaskRecord lacks AutoRoutes, RunSummary lacks Summary/Verdict; RequestedTask/QARequest/PublishDoc types are absent; Board is missing CreateTask/Comments/SwapLabel, Runner missing RequestedTasks/AskedQuestion/Answer/PublishRequests/ArchiveWorktree, Store missing the lineage/kv/qa methods, StartSpec gained Artifacts+ToolToken. Sync both sections to internal/domain + internal/ports or add an explicit Stage 3-4 additions subsection. SPEC-gap audit 2026-07-20.","status":"open","priority":3,"issue_type":"chore","owner":"bigbes@gmail.com","created_at":"2026-07-19T23:38:08Z","created_by":"Eugene Blikh","updated_at":"2026-07-19T23:38:08Z","labels":["milestone:v0.2.0"]} |
| new_value | {"status":"in_progress"} |
| comment | NULL |
| created_at | 2026-08-05T02:39:07Z |
| id | 019fcf2f-6ebd-70bb-a3ee-b0bed76ac904 |
| issue_id | ah-efe.1 |
| event_type | closed |
| actor | Eugene Blikh |
| old_value | |
| new_value | Done in 119b84d. §5/§6 contradicted nothing in §12 but were roughly two stages behind the code. §5's State block was missing StateBlocked and StateQuestion (the two Stage-4 real states); the RunState* and Verdict* const blocks were absent; TaskRecord lacked AutoRoutes; RunSummary lacked Summary/Verdict; and RequestedTask, QARequest and PublishDoc did not appear at all — every one now does, field-for-field against internal/domain/types.go. OutcomeError's comment still read 'exit != 0', which 665e805 (ah-tqc) falsified: a zero exit contradicted by the event stream's last message_end stopReason 'error' now also produces error, so §5 was contradicting the §9 prose that same commit added. Corrected, and Run.State now names the RunState* constants instead of bare strings. The CanClaim paragraph omitted 'ready' — claimable since the ah-4el verdict-routing re-claim path — so it now lists the full claimable set, names the deliberately-unclaimable complement {in_progress, blocked, question} and why, and mentions States()/Valid()/CanonicalBuckets(). §6's preamble claimed reconcile imports only domain/ports/config/spec; it now records the three Stage-3/4 additions (ctxpack, mem0, yonote) and why none is a port. Board gained CreateTask/Comments/SwapLabel plus NewTask; StartSpec gained Artifacts and ToolToken plus the Artifact type; Runner gained RequestedTasks/AskedQuestion/Answer/PublishRequests (documented as one zero-value-means-not-requested family) plus ArchiveWorktree and ArchiveResult; Store gained the lineage (RecordChild/GenerationOf/ParentOf/ChildIDsOf), kv (GetKV/SetKV) and Q&A (CreateQA/QAByTask/QAByComment/MarkQAAnswered) methods. §5 principle 5 was already correct and left alone. Every signature and comment is traceable to internal/domain/ or internal/ports/ as of this commit. |
| comment | NULL |
| created_at | 2026-08-05T02:50:20Z |
| id | 019fcf42-11e4-7649-888c-2eb4b843f1cf |
| issue_id | ah-efe.1 |
| event_type | label_added |
| actor | Eugene Blikh |
| old_value | NULL |
| new_value | NULL |
| comment | Added label: milestone:v0.1.0 |
| created_at | 2026-08-05T03:10:41Z |
No comments.
Close reason
Done in 119b84d. §5/§6 contradicted nothing in §12 but were roughly two stages behind the code. §5's State block was missing StateBlocked and StateQuestion (the two Stage-4 real states); the RunState* and Verdict* const blocks were absent; TaskRecord lacked AutoRoutes; RunSummary lacked Summary/Verdict; and RequestedTask, QARequest and PublishDoc did not appear at all — every one now does, field-for-field against internal/domain/types.go. OutcomeError's comment still read 'exit != 0', which 665e805 (ah-tqc) falsified: a zero exit contradicted by the event stream's last message_end stopReason 'error' now also produces error, so §5 was contradicting the §9 prose that same commit added. Corrected, and Run.State now names the RunState* constants instead of bare strings. The CanClaim paragraph omitted 'ready' — claimable since the ah-4el verdict-routing re-claim path — so it now lists the full claimable set, names the deliberately-unclaimable complement {in_progress, blocked, question} and why, and mentions States()/Valid()/CanonicalBuckets(). §6's preamble claimed reconcile imports only domain/ports/config/spec; it now records the three Stage-3/4 additions (ctxpack, mem0, yonote) and why none is a port. Board gained CreateTask/Comments/SwapLabel plus NewTask; StartSpec gained Artifacts and ToolToken plus the Artifact type; Runner gained RequestedTasks/AskedQuestion/Answer/PublishRequests (documented as one zero-value-means-not-requested family) plus ArchiveWorktree and ArchiveResult; Store gained the lineage (RecordChild/GenerationOf/ParentOf/ChildIDsOf), kv (GetKV/SetKV) and Q&A (CreateQA/QAByTask/QAByComment/MarkQAAnswered) methods. §5 principle 5 was already correct and left alone. Every signature and comment is traceable to internal/domain/ or internal/ports/ as of this commit.