Skip to content

product-cli definition: D1.24 met, D1.25 adds step 0, D1.21 lift map corrected, the licence (chapter 8) - #57

Merged
Hafeok merged 1 commit into
mainfrom
claude/lucid-hamilton-jxk6pv
Nov 3, 2026
Merged

Hafeok merged 1 commit into
mainfrom
claude/lucid-hamilton-jxk6pv

Conversation

@Hafeok

@Hafeok Hafeok commented Nov 3, 2026 •

Copy link
Copy Markdown
Collaborator

What this changes, and why

This is one commit, 799cbe84f2a010fb5b65a687eb253666948c73c8, to applications/sdlc/product-cli/product-definition.md, rebased onto main at bf4af9c. It replaces da453f1, amended twice: once at Emil's request to add the licence (a052ed9), and once to add Refs #58 for the issue-refs gate.

It follows the first product-cli rewrite PR, mindovermachine-dev/product-cli#166, which removed the Rust tree from product-cli's main as D1.24 rules. That PR is merged and fast-forwarded main to 53bd54758ba71f7a810f91ddf3a6c83d5e653145. Tracking issue: mindovermachine-dev/product-cli#165.

  1. The cross-repository table.
    • The rust-final row becomes met: tag object d0cf1f1ec40eb55c271b8d4dadfefcd260c03312, pointing at 70395df, and GitHub-verified.
    • A new row, "the Rust tree removed from main", is met by D1.24: remove the Rust tree from main product-cli#166, merged at 53bd54758ba71f7a810f91ddf3a6c83d5e653145.
    • The applications/sdlc/README.md row is unchanged.
  2. D1.25, step 0. Slice 0, the repository skeleton (ADR-0002, ADR-0003, ADR-0004), becomes the first item of chapter 7's order of work, verbatim from the brief. The header's "D1.16 to D1.24" becomes "D1.16 to D1.25", and its sentence on D1.24 gains "D1.25 adds step 0 to the order of work".
  3. D1.21, the lift map. The "Attribute blank nodes" bullet is replaced by Emil's text: Blank nodes (all 32 become elements, with the 15 / 7 / 10 split) and Stored, not minted.
  4. The licence, chapter 8. A bullet under "Boundaries and decisions taken", after Scope, in Emil's words:
    • Licence. Apache-2.0, from the commit after rust-final that replaced the licence (59553ee, merged at 53bd547). MIT governs everything at rust-final and before it, and the Rust tool's releases.

The PR is one commit, signed with this session's key. GitHub verifies it: 799cbe84f2a010fb5b65a687eb253666948c73c8, verified: true, reason: valid. Refs #58.

Rulings and decisions

  • D1.25 (2026-11-03) is new in the definition: step 0 of the order of work.
  • D1.21 is corrected in "The lift map", as Emil ruled in the product-cli session.
  • The licence is stated in chapter 8, as Emil ruled. It answers the question product-cli#166 raised.
  • No DDD-dec-NN is filed or superseded. The commit's basis is DDD-dec-72.

Predicted, then measured

Predicted: a prose-only change to an application document passes every gate, before and after the rebase onto bf4af9c.

Measured: python3 scripts/ci.py printed all gates passed on da453f1, a052ed9 and 799cbe8. On a052ed9, CI's issue-refs gate refused the commit for having no Refs #N naming an issue in this repository, a requirement that came into main with bf4af9c. On 799cbe8, issue-refs --basis, changelog --check and check --compare pass locally, and all four CI checks are green.

What was found

  • Step 0's markup. Its words are verbatim from the brief. Its bullets use - and three-space indentation, as the rest of chapter 7 does, so that they nest under item 0. Its closing sentence stays inside item 0.
  • The PR reference. It is written mindovermachine-dev/product-cli#166, because a bare #166 would link to this repository's #166.
  • What main brought. It moved by 15 commits (1554509..bf4af9c), none of them touching the definition, so the rebase was clean. Those commits include agent review and .github/identities.json, which lists this session's identity, claude+emil@okkels-klein.dk, with its Claude-Session trailer. The same range brought issue-refs, which needs Refs #N for an issue here, so product-cli definition: D1.24 met, D1.25 step 0, D1.21 lift map, the licence #58 tracks this change.

What is left

  • Ratification, by merge.

  • python3 scripts/ci.py passes (every gate: claims, decisions, core order and pins, the What, the How examples, fixtures)
  • Every commit that changes canon carries a Basis: line (Basis: DDD-dec-72)
  • Decision ids checked across every branch of both repositories: this PR files no decision id
  • A session record exists under meta/sessions/, with prompt.md and bootstrap.md committed first. Not done: the brief requires this PR to be one commit. This session's record is in product-cli, at docs/traceability/2026-11-03-issue-165-rust-removal.md.
  • No customer-identifying material anywhere in the diff

Developed with AI assistance under human review.

🤖 Generated with Claude Code

https://claude.ai/code/session_01NbWSYSVJASSN4tw4nMJ9kU

@Hafeok
Hafeok force-pushed the claude/lucid-hamilton-jxk6pv branch from da453f1 to a052ed9 Compare November 3, 2026 11:44
@Hafeok Hafeok changed the title product-cli definition: D1.24 met, D1.25 adds step 0, D1.21 lift map corrected product-cli definition: D1.24 met, D1.25 adds step 0, D1.21 lift map corrected, the licence (chapter 8) Nov 3, 2026
@Hafeok

Hafeok commented Nov 3, 2026

Copy link
Copy Markdown
Collaborator Author

approve a052ed9

…corrected, the licence (chapter 8)

The cross-repository table: the rust-final row is met, at tag object
d0cf1f1ec40eb55c271b8d4dadfefcd260c03312, and a new row records the Rust
tree removed from product-cli's main, met by
mindovermachine-dev/product-cli#166, merged at 53bd547. The README row is
unchanged.

D1.25 adds step 0 to chapter 7's order of work: slice 0, the repository
skeleton (ADR-0002, ADR-0003, ADR-0004), which needs no sdlc: edition.
The header now reads D1.16 to D1.25.

D1.21, the lift map: the "Attribute blank nodes" bullet is replaced. All
32 blank nodes become elements, keyed by owning subject, predicate and
their own sorted description; the 15 pf:hasAttribute nodes become
sdlc:Field and the 7 pf:offers and 10 pf:surfaces nodes become
sdlc:Interaction. The ULIDs and adopted wire names are stored in the map,
so lifting again reproduces the golden bytes.

The licence (chapter 8): a bullet under "Boundaries and decisions taken",
after Scope. Apache-2.0 from the commit after rust-final that replaced the
licence (59553ee, merged at 53bd547); MIT for everything at rust-final and
before it, and for the Rust tool's releases.

Basis: DDD-dec-72
Refs #58
Refs mindovermachine-dev/product-cli#165

Signed-off-by: Emil Okkels Klein <emil@okkels-klein.dk>
Claude-Session: https://claude.ai/code/session_01NbWSYSVJASSN4tw4nMJ9kU
@Hafeok
Hafeok force-pushed the claude/lucid-hamilton-jxk6pv branch from a052ed9 to 799cbe8 Compare November 3, 2026 11:49
@Hafeok

Hafeok commented Nov 3, 2026

Copy link
Copy Markdown
Collaborator Author

approve 799cbe8

Hafeok commented Nov 3, 2026

Copy link
Copy Markdown
Collaborator Author

The licence question from mindovermachine-dev/product-cli#166 is answered by this PR's new chapter 8 bullet:

  • Licence. Apache-2.0, from the commit after rust-final that replaced the licence (59553ee, merged at 53bd547). MIT governs everything at rust-final and before it, and the Rust tool's releases.

The commit. It is still one commit, now 799cbe84f2a010fb5b65a687eb253666948c73c8, on main at bf4af9c. Its message is the original, with "the licence (chapter 8)" added to what it carries, and it keeps Basis: DDD-dec-72.

The two amends.

  • da453f1 → a052ed9: rebased onto bf4af9c, and the licence bullet added.
  • a052ed9 → 799cbe8: Refs #58 added. The issue-refs gate, which arrived on main with bf4af9c, requires a Refs #N naming an issue in this repository. The cross-repository Refs mindovermachine-dev/product-cli#165 doesn't match its pattern, so product-cli definition: D1.24 met, D1.25 step 0, D1.21 lift map, the licence #58 was opened to track this change.

Both were pushed with --force-with-lease.

Verification (REST API): 799cbe84f2a010fb5b65a687eb253666948c73c8, verified: true, reason: valid.

CI on 799cbe8: all green.

Check Result
pipeline (devcontainer) success
pipeline (devcontainer) success
agent review (judge) success
agent review success, after the approval of 799cbe8

Locally, before the push, python3 scripts/ci.py printed all gates passed. The canon gates also passed: issue-refs --basis reported ok, 1 commits, changelog --check passed, and check --compare printed all gates passed.

The PR is mergeable (clean) and waits for ratification by merge.


Generated by Claude Code

@Hafeok
Hafeok merged commit 799cbe8 into main Nov 3, 2026
5 checks passed

This branch was successfully deployed

1 active deployment
gates — 799cbe84 Deployed Nov 3, 2026 by Hafeok via agent review (judge) #10
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