Skip to content

fix(launcher): cite the .deed standard at v0.4.0 (standards#960 AC3) - #14

Merged
hyperpolymath merged 1 commit into
mainfrom
fix/960-launcher-standard-citations
Sep 22, 2026
Merged

hyperpolymath merged 1 commit into
mainfrom
fix/960-launcher-standard-citations

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

19 citations in this repo named launcher-standard.a2ml v0.3.0. That file was deleted upstream on 2026-09-22 by hyperpolymath/standards#952 (be6c9580, owner ruling D73-C) and translated to launcher/launcher-standard_praxis.deed. Every one of these pointed at a path that no longer resolves.

This is AC3 of hyperpolymath/standards#960.

Why the v0.4.0 claim is earned, not assumed

Rewriting v0.3.0 → v0.4.0 is a compliance claim, not a rename, so it had to be checked rather than swept. The deed states its own delta at lines 22–24:

Bumped 0.3.0 -> 0.4.0 because the resolution ladders below now name the .deed file, which is consumer-visible.

That delta lands entirely in (resolution (standard-search — the ladder a consumer uses to locate the standard at runtime. This launcher never reads the standard at runtime: it inlines the (resolution (desktop-tools-search ladder, whose six priorities match the deed's in the same order and are untouched by 0.4.0. So nothing 0.4.0 added is unimplemented here. If that had not held, the honest move would have been to name 0.4.0 and record the gap — it did hold.

Why this is safe

Comments only, with one deliberate exception: the --version output prints a Standards Compliance: line, rewritten because a compliance claim has to name the standard that exists. The deed's (version-output clause constrains only :first-line-format, which is untouched and still conforms.

bash -n passes. The launcher was not executed — it sources keepopen.sh unconditionally at top level.

No consumer breaks. launch-scaffolder's metadata parser keys on a literal # @a2ml-metadata begin delimiter (metadata_block.rs:109); this launcher has no such line and is not parseable by it today, before or after this change. All eleven fields the deed's (metadata-block :required-fields demands are present and untouched.

Clause notation

§x → (x ...), the deed's s-expression heads. Three were not mechanical and were each verified against the deed rather than guessed:

was now why
§a2ml-metadata-block (metadata-block ...) the deed's only clause rename, authorised by its own comment: "A2ML is a dead format name and the deed era does not carry it forward"
§disinteg.remove (disinteg :remove ...) :remove is a key on (disinteg, not a subclause — deed:228
"ladder from launcher-standard.a2ml" (resolution (desktop-tools-search ...)) the deed has two ladders; this one resolves .desktop-tools, so it is the first, not (fallback-ladder

The old filename is deliberately not carried as a "formerly …" gloss. The #960 AC4 gate flags a retired filename at any version, by design — the history belongs in the commit message, not in the source.

Proved

The AC4 gate (scripts/check-launcher-standard-currency.sh, hyperpolymath/standards#983) run against this worktree:

  • before: 23 defect rows over 19 lines, rc=1 — four lines carry both a retired-filename and a stale-version defect, which is why 19 lines yield 23 rows
  • after: No stale launcher-standard references., rc=0

This is also the gate's first run against a hand-written launcher rather than a generated descriptor.

What is deliberately left alone

dev-notes/HANDOVER.adoc keeps its two v0.3.0 citations. It carries :revdate: 2026-08-13 on its face and is a historical record; the gate allowlists it by path for exactly that reason. Rewriting a handover to name a file that did not exist at handover time would falsify the record.

Refs hyperpolymath/standards#960 · hyperpolymath/standards#952 · hyperpolymath/standards#983

🤖 Generated with Claude Code

https://claude.ai/code/session_01WPSJ7fBhVAMcpSffCBWUDo

19 citations named `launcher-standard.a2ml v0.3.0`. That file was DELETED
upstream on 2026-09-22 by hyperpolymath/standards#952 (`be6c9580`, D73-C),
translated to `launcher/launcher-standard_praxis.deed`. Every citation here
pointed at a path that no longer resolves. standards#960 AC3.

WHY THE v0.4.0 CLAIM IS EARNED, NOT ASSUMED
The deed states its own delta at lines 22-24: "Bumped 0.3.0 -> 0.4.0 because
the resolution ladders below now name the .deed file, which is
consumer-visible." That delta lands entirely in `(resolution
(standard-search`, the ladder a consumer uses to LOCATE the standard at
runtime. This launcher never reads the standard at runtime -- it inlines the
`(resolution (desktop-tools-search` ladder, whose six priorities match the
deed's in order and are unchanged by 0.4.0. So nothing 0.4.0 added is
unimplemented here: the rewrite is a citation fix, not a new claim.

WHY THIS IS SAFE
Comments only, with one deliberate exception. The `--version` output at
`(version-output` prints a "Standards Compliance:" line; it is rewritten
because a compliance claim must name the standard that exists. The deed
constrains only `:first-line-format`, which is untouched and still conforms.
`bash -n` passes; the launcher was not executed (it sources keepopen.sh
unconditionally at top level).

No consumer breaks. launch-scaffolder's parser keys on a literal
`# @a2ml-metadata begin` delimiter (`metadata_block.rs:109`); this launcher
has no such line and is not parseable by it today, before or after. All
eleven fields the deed's `(metadata-block :required-fields` demands are
present and untouched.

CLAUSE NOTATION
`§x` -> `(x ...)`, the deed's s-expression heads. Two are not mechanical:
  §a2ml-metadata-block -> (metadata-block ...)   the deed's only rename,
    authorised by its own comment: "A2ML is a dead format name and the deed
    era does not carry it forward"
  §disinteg.remove     -> (disinteg :remove ...) `:remove` is a KEY on
    `(disinteg`, verified at deed:228, not a subclause
  "ladder from ..."    -> (resolution (desktop-tools-search ...)) the deed
    has two ladders; this one resolves .desktop-tools, so it is the first

The old filename is deliberately NOT carried as a "formerly" gloss -- the
standards#960 AC4 gate flags a retired filename at any version, by design.
The history belongs here, not in the source.

PROVED
standards' AC4 gate (`scripts/check-launcher-standard-currency.sh`), run
against this worktree: 23 defect rows over 19 lines before (four lines carry
both a retired-filename and a stale-version defect), rc=1; zero defects
after, rc=0. First run of that gate against a hand-written launcher.

dev-notes/HANDOVER.adoc keeps its two v0.3.0 citations. It is dated
2026-08-13 and is a historical record; the gate allowlists it by path for
that reason. Rewriting it to name a file that did not exist at handover time
would falsify the record.

Refs: hyperpolymath/standards#960, hyperpolymath/standards#952

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WPSJ7fBhVAMcpSffCBWUDo
@coderabbitai

coderabbitai Bot commented Sep 22, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: e1775d57-9fcd-4a72-ad18-554c21b1174e

📥 Commits

Reviewing files that changed from the base of the PR and between 805da6d and 26b032f.

📒 Files selected for processing (2)
  • docs/IMPLEMENTATION-STATUS.adoc
  • scripts/trigger-launcher.sh
 __________________________________________________________________
< Series-B funding secured. Now, I can afford to review your code. >
 ------------------------------------------------------------------
  \
   \   (\__/)
       (•ㅅ•)
       /   づ
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • 🔴 Error committing to branch - (🔄 Check to retry)
  • Create a new PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@sonarqubecloud

Copy link
Copy Markdown

@hyperpolymath
hyperpolymath merged commit 7ff9c0a into main Sep 22, 2026
7 of 10 checks passed
@hyperpolymath
hyperpolymath deleted the fix/960-launcher-standard-citations branch September 22, 2026 13:13
@coderabbitai

coderabbitai Bot commented Sep 22, 2026

Copy link
Copy Markdown

❌ Failed to create Coding Agent finishing-touch task. Please try again.

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