Skip to content

Commit e113f2a

Browse files
feat(w21-24kl): batch 4 — CLAUDE.md v3 update, cutover resume RED tests, ACLI epic
- Update CLAUDE.md architecture section with event-sourced ticket system v3, ticket CLI entry point, and quick reference table updates (dso-a15u) - Write 3 RED failing tests for cutover idempotent resume from state file (dso-dr2k) - Upgrade dso-7nos from bug to epic: "Automate ACLI configuration" Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 2fa09d7 commit e113f2a

File tree

8 files changed

+288
-15
lines changed

8 files changed

+288
-15
lines changed

.tickets/.sync-state.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -449,8 +449,8 @@
449449
"last_synced": "2026-03-19T18:38:35Z",
450450
"local_hash": "14c516947a151a3db8bdec4010e2fd6e"
451451
},
452-
"last_pull_timestamp": "2026-03-23T02:27:41Z",
453-
"last_sync_commit": "86e5d2cf0d16443d25494c68a864ea5d2a5eba6d",
452+
"last_pull_timestamp": "2026-03-23T03:01:07Z",
453+
"last_sync_commit": "2fa09d7010346c249ec5e7175b0aa096e2196585",
454454
"w21-5cqr": {
455455
"jira_hash": "bce29d76f01c58613ee99cb1dd03920d",
456456
"jira_key": "DIG-61",

.tickets/dso-7nos.md

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,24 @@ status: open
44
deps: []
55
links: []
66
created: 2026-03-23T01:33:00Z
7-
type: task
7+
type: epic
88
priority: 2
99
assignee: Joe Oakhart
1010
---
11-
# inbound-bridge workflow fails at ACLI_VERSION unset — complete env var config from dso-141j
11+
# Automate ACLI configuration
1212

13+
## Context
14+
The Jira bridge workflows (inbound-bridge.yml, outbound-bridge.yml) require ACLI_VERSION and ACLI_SHA256 GitHub repository variables to be set. Currently there is no automated way to determine the correct version and SHA256 hash — the process requires manual lookup and configuration. The inbound bridge cron fails at the "Validate ACLI version before download" step because these values are not configured.
15+
16+
## Success Criteria
17+
1. The bridge workflow automatically computes and logs the SHA256 hash of the downloaded ACLI artifact on first download, so the operator can capture it from CI output and set ACLI_SHA256.
18+
2. A setup script or guided prompt determines the correct ACLI version from the local brew installation or a known release channel and configures ACLI_VERSION and ACLI_SHA256 as GitHub repository variables.
19+
3. After configuration, the inbound bridge workflow runs end-to-end successfully (checkout tickets branch, download ACLI, verify checksum, run bridge).
20+
4. The ACLI configuration process is documented and integrated into /dso:project-setup.
21+
22+
## Approach
23+
Phase 1: Modify the bridge workflow's checksum verification step to compute and log the SHA256 when ACLI_SHA256 is not set (warn instead of fail). This allows the operator to run the workflow once, capture the hash from logs, and set it.
24+
Phase 2: Add ACLI version/hash configuration to the project setup guided prompts.
25+
26+
## Notes
27+
Originally tracked as bug dso-7nos (ACLI_VERSION unset). Upgraded to epic per user request to automate the full configuration lifecycle.

.tickets/dso-a15u.md

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
id: dso-a15u
3-
status: open
3+
status: in_progress
44
deps: [dso-ech8]
55
links: []
66
created: 2026-03-23T00:25:56Z
@@ -38,3 +38,29 @@ TDD Requirement: TDD exemption — Criterion #3 (static assets only): CLAUDE.md
3838
- [ ] CLAUDE.md is NOT committed (lives in working tree only)
3939
Verify: git -C $(git rev-parse --show-toplevel) status --short | grep -q 'CLAUDE.md'
4040

41+
42+
## Notes
43+
44+
**2026-03-23T02:41:56Z**
45+
46+
CHECKPOINT 1/6: Task context loaded ✓
47+
48+
**2026-03-23T02:42:13Z**
49+
50+
CHECKPOINT 2/6: Code patterns understood ✓ — ticket-cli-reference.md reviewed, CLAUDE.md architecture section identified. Key changes needed: 1) Architecture section: replace old Jira/tk description with event-sourced v3 (orphan 'tickets' branch, .tickets-tracker/ worktree, ticket-reducer.py, fcntl.flock writes, append-only JSON events, 'ticket' CLI entry point), reference ticket-cli-reference.md. 2) Quick Reference table: tk ready→ticket list, tk show <id>→ticket show <id>. TDD exemption: docs-only.
51+
52+
**2026-03-23T02:42:18Z**
53+
54+
CHECKPOINT 3/6: TDD exemption confirmed ✓ — CLAUDE.md is static documentation (Criterion #3). No tests needed.
55+
56+
**2026-03-23T02:53:11Z**
57+
58+
CHECKPOINT 4/6: Implementation complete ✓ — Updated CLAUDE.md: 1) Architecture section: added event-sourced v3 description (orphan 'tickets' branch, .tickets-tracker/ worktree, ticket-reducer.py, fcntl.flock, append-only JSON events, 'ticket' CLI entry point, reference to ticket-cli-reference.md), Jira integration line replaced with 'Jira bridge' reference. 2) Quick Reference table: tk ready→ticket list, tk show <id>→ticket show <id>, added create/close/link/sync rows. 3) Other tk references updated: Critical Rules #21, Task Completion Workflow, Multi-Agent recovery, Always Do These #9.
59+
60+
**2026-03-23T02:53:26Z**
61+
62+
CHECKPOINT 5/6: Validation passed ✓ — ruff check: exit 0, ruff format --check: exit 0, AC4-AC7 grep checks: all PASS. tests/run-all.sh: ran in batches via test-batched.sh; all observable tests passed (commit-tracker transient 1-fail resolved on re-run — pre-existing flakiness unrelated to docs change).
63+
64+
**2026-03-23T02:53:32Z**
65+
66+
CHECKPOINT 6/6: Done ✓ — Self-check: AC1 tests/run-all.sh passed (batched); AC2 ruff check pass; AC3 ruff format pass; AC4 event-sourc grep PASS; AC5 ticket CLI entry PASS; AC6 ticket show+list PASS; AC7 CLAUDE.md not committed PASS. No discovered out-of-scope work.

.tickets/dso-dr2k.md

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
id: dso-dr2k
3-
status: open
3+
status: in_progress
44
deps: [dso-710r, dso-pjcl]
55
links: []
66
created: 2026-03-23T00:24:23Z
@@ -47,3 +47,47 @@ Append to existing test file — do NOT overwrite T1 or T3 tests.
4747
- [ ] New resume tests FAIL before T6 implementation (RED state)
4848
Verify: bash $(git rev-parse --show-toplevel)/tests/scripts/test-cutover-tickets-migration.sh 2>&1 | grep -q 'FAIL.*resume\|FAIL.*state_file'
4949

50+
51+
## Notes
52+
53+
<!-- note-id: on9z7x08 -->
54+
<!-- timestamp: 2026-03-23T02:54:19Z -->
55+
<!-- origin: agent -->
56+
<!-- sync: unsynced -->
57+
58+
CHECKPOINT 1/6: Task context loaded ✓
59+
60+
<!-- note-id: rjtszy5j -->
61+
<!-- timestamp: 2026-03-23T02:54:38Z -->
62+
<!-- origin: agent -->
63+
<!-- sync: unsynced -->
64+
65+
CHECKPOINT 2/6: Code patterns understood ✓ — cutover script uses PHASES array (validate/snapshot/migrate/verify/finalize), _state_append_phase() writes JSON state file, no --resume flag yet. Test file uses _setup_fixture(), assert_eq/assert_ne/assert_contains, _snapshot_fail/_pass_if_clean pattern.
66+
67+
<!-- note-id: m6u5jm1u -->
68+
<!-- timestamp: 2026-03-23T02:55:21Z -->
69+
<!-- origin: agent -->
70+
<!-- sync: unsynced -->
71+
72+
CHECKPOINT 3/6: Tests written ✓ — appended test_cutover_state_file_written_after_each_phase, test_cutover_resume_skips_completed_phases, test_cutover_resume_does_not_rerun_already_completed_phase to tests/scripts/test-cutover-tickets-migration.sh
73+
74+
<!-- note-id: 0hjlz3vy -->
75+
<!-- timestamp: 2026-03-23T02:55:29Z -->
76+
<!-- origin: agent -->
77+
<!-- sync: unsynced -->
78+
79+
CHECKPOINT 4/6: Implementation complete ✓ — RED tests are the deliverable for this task
80+
81+
<!-- note-id: fnjopg6b -->
82+
<!-- timestamp: 2026-03-23T02:56:30Z -->
83+
<!-- origin: agent -->
84+
<!-- sync: unsynced -->
85+
86+
CHECKPOINT 5/6: Validation passed ✓ — bash -n syntax: OK; resume tests FAIL as expected (RED state); grep pattern 'FAIL.*resume|FAIL.*state_file' matches 7 lines
87+
88+
<!-- note-id: 12i5dz5u -->
89+
<!-- timestamp: 2026-03-23T02:56:42Z -->
90+
<!-- origin: agent -->
91+
<!-- sync: unsynced -->
92+
93+
CHECKPOINT 6/6: Done ✓ — All 5 AC pass. Tests written and confirmed RED. No discovered out-of-scope work.

.tickets/dso-ech8.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
id: dso-ech8
3-
status: in_progress
3+
status: closed
44
deps: []
55
links: []
66
created: 2026-03-23T00:25:28Z

.tickets/dso-pjcl.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
id: dso-pjcl
3-
status: in_progress
3+
status: closed
44
deps: [dso-710r]
55
links: []
66
created: 2026-03-23T00:23:47Z

0 commit comments

Comments
 (0)