plan(v0.7.0): split depth from breadth, and give the deferred timing triad a home - #253
Merged
Conversation
…triad a home Two committed artifacts disagreed about what v0.7.0 is. docs/releases/v0.7.0-plan.md (2026-07-29) said depth on one claim -- "new drivers, new capabilities and new targets all wait behind E1". The rivet scope typed in #244 (2026-07-30) put a third target family, ARINC component tenants and driver componentization inside v0.7.0. Both were in the repo; both cannot govern. Split rather than let one silently overrule the other. v0.7.0 is now depth: execute the composite (E1), dissolve it (E2), and the timing triad. v0.7.1 is breadth: RV32, partition tenants, driver componentization, plus E3/E4. The bigger finding is a machinery one. v0.6.0 is TAGGED (2026-07-30) but six of its thirteen artifacts still pointed at it unverified -- the T2/T3/T4 timing triad, which was deliberately deferred at that release and never re-pointed. The effect is that a shipped release queried as permanently unclosed and six real work items were invisible to every later plan. Re-pointed to v0.7.0, which is where the work actually is: v0.6.0 7 verified, 5 proposed, 1 implemented -> 7 verified, CLOSED v0.7.0 2 verified, 8 proposed -> 2 verified, 1 implemented, 9 proposed v0.7.1 (did not exist) -> 6 proposed The triad belongs with the dissolve rather than in its own release: object-code verification has no object to verify and per-function WCET has nothing to bound until E2 produces one, and schedulability consumes WCET's numbers. Planning them apart would have scheduled the consumers ahead of the producer. Added the missing E2 pair (REQ/VER-OS-COMPOSITE-DISSOLVE-001). The ladder's second rung had no artifact at all, so the release scope did not represent the thing the triad depends on. Its kill-criterion is the one that matters: a smaller object with NO undefined symbols means the gust:hal seam was swallowed, which is the failure mode, not the win. rivet validate: PASS, 341 warnings before and after -- the new artifacts add none. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011QG86sovTbfnPNY9SfhSmo
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
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.
Two committed artifacts disagreed about what v0.7.0 is
docs/releases/v0.7.0-plan.md(2026-07-29) — depth on one claim: "new drivers, new capabilities and new targets all wait behind E1."Both are in the repo and both cannot govern. Split, rather than let one silently overrule the other:
The machinery finding
v0.6.0 is tagged (2026-07-30), but six of its thirteen artifacts still pointed at it unverified — the T2/T3/T4 timing triad, deliberately deferred at that release and never re-pointed.
Two consequences, both bad: a shipped release queried as permanently unclosed, and six real work items were invisible to every later plan. The release-planning skill names this exactly — deferral is a scope decision (bump
release:), surfaced and logged, not silence.Why the triad ships with the dissolve
T2 has nothing to verify and T4 has nothing to bound until E2 produces an object. Planning them apart would have scheduled the consumers ahead of the producer.
New artifact pair
The ladder's E2 rung had no rivet artifact at all — the scope did not represent the thing the triad depends on. Added
REQ-OS-COMPOSITE-DISSOLVE-001/VER-OS-COMPOSITE-DISSOLVE-001.Its kill-criterion is the one that matters: a smaller object with no undefined symbols is the failure mode, not the win — it means the
gust:halseam was swallowed and the OS is no longer swappable.Oracle
rivet validate: PASS, 341 warnings before and after — the new artifacts add none. (I did catch myself copyingmethod: testfrom a neighbouring artifact; it is not an allowed value, so mine usesautomated-test. Eight pre-existing artifacts still carry the invalid value — not fixed here, happy to do it as a separate change.)What this PR does not do
No implementation. This is scope and plan only — E1 has still never been run, and v0.6.0's own notes remain the honest statement of that gap.