feat(baton): batch inheritance — nearest declaration: ledger line, AILOG, Charter (#428) - #437
Merged
Merged
Conversation
…LOG, Charter (#428) A batch now takes the nearest declaration: its own `- **Work verb**:` ledger line (the ratified override), else its AILOG's frontmatter (the slot the AILOG template already ships), else the Charter(s) whose ledger that AILOG is — resolved exactly as `charter batch-complete` does (originating_ailogs[0], else execution_ailogs[0]) — when they all agree. - An override replaces the whole declaration; a provenance line alone declares nothing. Comments, fences and other sections never declare. - An unreadable AILOG frontmatter blocks inheritance for its batches; an unreadable Charter blocks only Charter-level inheritance. - The parent index and the agreement rule are now shared with tasks; `task_inheritance_blockers` becomes `inheritance_blockers`. - Ratification §3 and the Track C kit now describe one contract. Read-only: Sentinel 0 -> 22 batches classified, LNXDrive 0 -> 7, Estoa 0 -> 8. AIDEC-2026-09-17-001, AILOG-2026-09-17-004. Closes #428. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
montfort
force-pushed
the
feat/baton-batch-inheritance
branch
from
September 18, 2026 04:31
a3b087d to
8597124
Compare
Merged
montfort
added a commit
that referenced
this pull request
Sep 18, 2026
Release the Track C fixes that landed after baton-0.2.0: task inheritance (#430), batch inheritance (#437) and inventory hygiene (#435). 0.3.0 rather than 0.2.1: the adopter already measured a from-source "0.2.1" without them, so reusing that number would blur its telemetry. The Track C kit now asks for baton >= 0.3.0 (and CLI >= 3.49 to declare follow-ups). Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #428.
The ratification (#332 §3) put a batch's declaration on a
- **Work verb**:ledger line. The AILOG template and the Track C kit put it in the AILOG frontmatter, andread_batchesread neither, so every batch came outundeclared. This PR implements one contract that gives each existing slot a role (maintainer's decision,AIDEC-2026-09-17-001).Rule: nearest declaration
A batch takes the first of these that declares a verb:
- **Work verb**:(and optionally- **Design provenance**:), the override for a heterogeneous batch;straymark charter batch-completedoes (originating_ailogs[0], elseexecution_ailogs[0]), when they all agree. This is the same agreement rule fix(baton): inherit task declarations from explicit Charter origins (#427) #430 uses for tasks.Otherwise the batch stays
undeclared.upstream, and a provenance line alone declares nothing.--granularity batch.…-001b≠…-001, and a slugged id resolves.Refactor
CharterOrigin+ledger_ailog,ailog_key) andagreed()are shared by tasks and batches.task_inheritance_blockersbecomesinheritance_blockers.Impact (read-only, git status unchanged)
undeclaredbefore)operate), 55 (implement/new) and two moreSpot-checked against the source AILOGs and Charters.
Validation
cargo test -p straymark-baton --locked: 112 passed. The 9 new cases are intests/batch_inheritance.rs; 8 of them fail before the change (the ninth is a negative case).cargo clippy -p straymark-baton --all-targets --locked -- -D warningsis clean.straymark validatereports 0 errors.AILOG-2026-09-17-004.Heads-up: this PR and #436 both edit adjacent rows of the Track C kit table. Whichever merges second needs a one-line rebase, which I will do.
🤖 Generated with Claude Code