Releases: electricm0nk/codex
Release list
alpha v0.10.125 (09177a93)
Summary
This v0.7 alpha release combines the work that landed across two tranche cuts:
- tranche/6 — the v0.6 alpha cut that shipped the SD-22/23/24/25 bundles plus the early SD-27 ingestion work, all under the published tag
alpha-v0.6.<build>. The release version stamped at publish time wasv0.6.120because the tranche-base-7 advance was missed; this combined release-notes document reclassifies the substantive content asv0.7per the operator directive of 2026-08-01. - tranche/7 — the SD-27 closure work, including the tranche/7-1 player-reachability extension that landed 2026-08-01.
The version bump from 0.6 → 0.7 reflects the operator's tranche-promotion rule (docs/release/SD-21/decisions.md §18): the tranche digit advances by exactly 1 per tranche cut, so SD-27's closure on tranche/7 advances the digit from 6 to 7. The v0.6.120 publish at 5c432a1b was a missed advance; this fix lands the 0.7.0 advance in the repo, retroactively matching the substantive content of the cut. SD-28/29/30 follow the same one-advance-per-tranche-cut rule (v0.8.0 / v0.9.0 / v0.10.0).
The bundle landmass covers SD-22 (Content-Source Ingest for APG + ACG + Bestiary 1 + DM Toolkit), SD-23 (Character-Mutation + Wired-Integration), SD-24 (Beta-Readiness + Multiclass), SD-25 (UI-Evaluation Defect Closure + Hub-of-Hubs Refactor + PCGen Runner + Ingest Diagnostic Sketch), and SD-27 (Future-State Book Content Ingestion for Advanced Race Guide + Pathfinder Unchained + Shape B v1 schema extension retro-fitted to the four already-ingested books).
User-Visible Changes
Content ingestion (SD-22, SD-27).
- Advanced Player's Guide (APG) — 6 real base classes: Alchemist, Cavalier, Inquisitor, Oracle, Summoner, Witch; bootstrap spell and equipment tables; resolvable via
RuleSetId::Apg. - Advanced Class Guide (ACG) — 10 real base classes: Arcanist, Bloodrager, Brawler, Hunter, Investigator, Shaman, Skald, Slayer, Swashbuckler, Warpriest; bootstrap spell and equipment tables; resolvable via
RuleSetId::Acg. - Bestiary 1 — full monster data transcribed from the public PCGen
.lstcorpus, resolvable viaRuleSetId::Bestiary1. - Advanced Race Guide (ARG) —
arg_feats.lst(187 real feat records across 3 categories) andarg_equip_arms_armor.lst(200 real equipment records across 4 categories), ingested under Shape B v1 withlicense/pi_field/pi_markerschema extension. - Pathfinder Unchained (PU) — class-feature roster ingested under Shape B v1 with the same license-aware schema extension as ARG.
Shape B v1 schema extension (SD-27).
license/pi_field/pi_markerlicense-aware schema added to all 4 already-ingested in-scope books (CRB, APG, ACG, Bestiary 1) plus the 2 new books (ARG, PU).- All 6 books' equipment corpus enriched with raw_tokens and raw_bonus_chains; license-aware cache shape settled for the ARG pilot.
Rules engine + character mutation (SD-23, SD-24, SD-25).
- Hub-of-hubs refactor — Codex's character-mutation command surface restructured as a rule-system-adapter hub (
apps/desktop/src-tauri/src/character_hub.rsand friends). Every shipped affordance reads/writes real SD-26 JSON content end-to-end. - PF1 multiclass save/BAB stacking correctly computed (SD-24).
- Character-level-up residual bugs from Epic 7's class-specific explanation filters audited and fixed (SD-25).
- Wizard spellbook / school-powers chassis completed (SD-25).
- DM Toolkit — encounter difficulty + party challenge rating calculator (SD-22).
Desktop shell + PCGen harness (SD-25, SD-26).
- PCGen Runner foundation — Rust-side wrapper around
scripts/pcgen-run-character.shandscripts/pcgen-normalize-output.pyfor headless batch-export runs; used by SD-26's oracle harness (seeapps/desktop/src/oracle_validation/). - Ingest Diagnostic Panel — corpus-ingest diagnostic surface introduced (SD-25).
- Real, book-agnostic corpus loader wired (v0.6 cut), so the desktop shell loads from whichever book the character class/race is sourced from.
Defects Fixed
The full defect-by-defect enumeration for this combined release lives in:
docs/release/SD-22/artifacts/cycles/(SD-22 closures)docs/release/SD-23-character-mutation-and-wired-integration/artifacts/cycles/(SD-23 closures)docs/release/SD-24-beta-readiness-and-multiclass/artifacts/cycles/(SD-24 closures)docs/release/SD-25-ui-evaluation-defect-closure/cycles/(SD-25 closures)docs/release/SD-26-ingest-strategy-and-rule-system-plumbing/artifacts/cycles/(SD-26 closures)docs/release/SD-27-future-state-book-content-ingestion/artifacts/cycles/(SD-27 closures)
Headline items:
- Tranche/6 alpha-bar defects (6 acceptance criteria, attested by QA): a tester can install Codex, create a character of any class or race from CRB/Bestiary 1/APG/ACG, advance through at least 6 levels (multiclass), select spells/feats/equipment, record bio notes, manage money, and have every rules calculation match PCGen within tolerance. No
Coming soonUI surface survives in this build. - Tranche/7 (SD-27 Phase 2) player-reachability defects: every ARG/PU class feature, spell, and racial trait reaches the character sheet end-to-end. PCGen parity baseline established at the ARG pilot case. Wired-integration four-check audit re-run for every defect closure.
- Surface staleness defects: ARG/PU surfaced in the spell catalog, equipment catalog refreshed to all 6 ingested books, catalog totals corrected.
Operational Notes
- Branch policy. Single shared
tranche/6branch for the v0.6 alpha cut; single sharedtranche/7branch for the SD-27 closure. Per-tranche cuts fromdevelopper the standing doctrine. No per-slice branches for these cuts (the alpha-bar and SD-27 closure were treated as single-batch drops perdocs/release/v0.6/release-swarm.md§2 anddocs/release/SD-27-future-state-book-content-ingestion/loop-instruction.md). - Commit serialization (tranche/6 only — not enforced on tranche/7): teammates announce "committing" to the lead, commit, announce "done"; the lead arbitrates. Long
cargo testruns are likewise announced so the frontend build and backend test loop don't thrash the same target dir. - Wired-integration four-check audit is load-bearing in the swarm report at §1.5, §4.4, and §7.1 (tranche/6) and in
docs/release/SD-27-future-state-book-content-ingestion/artifacts/(tranche/7). Only the per-cycle receipt ceremony was waived for the tranche/6 swarm, per the doctrine's own waiver mechanism. - Tranche promotion rule (per
docs/release/SD-21/decisions.md §18): the tranche digit advances by exactly 1 pertranche/Ncut. SD-22/23/24/25 → tranche/5.* (no advance), v0.6 alpha cut → tranche/6 (advance to digit 6), SD-27 closure → tranche/7 (advance to digit 7 — this release). SD-28 → v0.8, SD-29 → v0.9, SD-30 → v0.10. - Build version scheme is
<major>.<tranche-base>.<build>(perdocs/release/SD-21/decisions.md §18); the repo filesapps/desktop/package.json,apps/desktop/src-tauri/tauri.conf.json,apps/desktop/src-tauri/Cargo.tomland the workflow stamppublish-tester-release.ymlare kept in lockstep bysrc/sd21/buildVersionTriple.test.ts.
Verification Evidence
- Alpha bar attestation:
docs/release/v0.6/SWARM_REPORT.mdcarries the QA engineer's per-acceptance-criterion attestation of all 6 alpha-bar criteria. - SD-27 closure gate:
docs/release/SD-27-future-state-book-content-ingestion/artifacts/epic_4/advanced_race_guide_parity-cycle_receipt.mdcarries the per-book, per-content-kind reach verification. - Tranche/7-1 reach gate:
docs/release/SD-27-future-state-book-content-ingestion/artifacts/epic_5/carries the player-reachability proof (reach-gate,display-value,PCGen parity baseline). scripts/verify.sh --full: exit 0 at SD-27 closure (Phase 2) and at the v0.7 alpha cut. The verify script's run on the v0.7-cut commit produced 0 failures across core crate, desktop shell, frontend typecheck, frontend tests, wired-integration four-check audit, and the build-version triple consistency test.- Build version triple consistency:
apps/desktop/src/sd21/buildVersionTriple.test.ts(and the SD-22 mirror atapps/desktop/src/releaseChecks/buildVersionTriple.test.ts) confirmpackage.json==tauri.conf.json==Cargo.toml== workflow-stamp prefix, all starting with0.7..
Known Issues
- PCGen parity rate is documented "match rate at the time of cycle close," not a required full match (per
docs/release/SD-27-future-state-book-content-ingestion/decisions.md §10). Inherited CG-03 (Human ability-modifier) is v0.6's lane, not this cycle's to fix. - PCGen Gradle wrapper is not available on every host. PR #356 + PR #357 added gradle-wrapper-runnability skip guards to the SD-26 pilot test, the SD-27 ARG/PU parity tests, and the v0.6 Wizard pilot test. The wrapper, runner script, and parser are still exercised end-to-end on any host where the PCGen checkout is available. A real failure of any of those components (script missing, normalizer non-zero exit, parseable-output contract violated) is still surfaced as a hard test failure.
- Tranche/6 (v0.6.120) reclassification: the published GitHub release
alpha-v0.6.120-5c432a1bcarries the SD-21 release-notes body and thev0.6.120version stamp. Per the operator directive of 2026-08-01, the substantive content of that release should be reclassified as v0.7 (this document). GitHub Releases do not allow re-tagging; the durable record is the workflow's correct stamp going forward and the corrected body indocs/release/v0.7/release-notes.md(this file). - Tranche/6 alpha bar is not a full readiness certification — it's a tester-installable alpha. Tester-known issues are tracked in
docs/release/v0.6/risks-and-open-questions.mdanddocs/release/SD-27-future-state-book-content-ingestion/risks-and-open-questions.md.
Update ...
alpha v0.10.124 (e903657e)
Summary
This v0.7 alpha release combines the work that landed across two tranche cuts:
- tranche/6 — the v0.6 alpha cut that shipped the SD-22/23/24/25 bundles plus the early SD-27 ingestion work, all under the published tag
alpha-v0.6.<build>. The release version stamped at publish time wasv0.6.120because the tranche-base-7 advance was missed; this combined release-notes document reclassifies the substantive content asv0.7per the operator directive of 2026-08-01. - tranche/7 — the SD-27 closure work, including the tranche/7-1 player-reachability extension that landed 2026-08-01.
The version bump from 0.6 → 0.7 reflects the operator's tranche-promotion rule (docs/release/SD-21/decisions.md §18): the tranche digit advances by exactly 1 per tranche cut, so SD-27's closure on tranche/7 advances the digit from 6 to 7. The v0.6.120 publish at 5c432a1b was a missed advance; this fix lands the 0.7.0 advance in the repo, retroactively matching the substantive content of the cut. SD-28/29/30 follow the same one-advance-per-tranche-cut rule (v0.8.0 / v0.9.0 / v0.10.0).
The bundle landmass covers SD-22 (Content-Source Ingest for APG + ACG + Bestiary 1 + DM Toolkit), SD-23 (Character-Mutation + Wired-Integration), SD-24 (Beta-Readiness + Multiclass), SD-25 (UI-Evaluation Defect Closure + Hub-of-Hubs Refactor + PCGen Runner + Ingest Diagnostic Sketch), and SD-27 (Future-State Book Content Ingestion for Advanced Race Guide + Pathfinder Unchained + Shape B v1 schema extension retro-fitted to the four already-ingested books).
User-Visible Changes
Content ingestion (SD-22, SD-27).
- Advanced Player's Guide (APG) — 6 real base classes: Alchemist, Cavalier, Inquisitor, Oracle, Summoner, Witch; bootstrap spell and equipment tables; resolvable via
RuleSetId::Apg. - Advanced Class Guide (ACG) — 10 real base classes: Arcanist, Bloodrager, Brawler, Hunter, Investigator, Shaman, Skald, Slayer, Swashbuckler, Warpriest; bootstrap spell and equipment tables; resolvable via
RuleSetId::Acg. - Bestiary 1 — full monster data transcribed from the public PCGen
.lstcorpus, resolvable viaRuleSetId::Bestiary1. - Advanced Race Guide (ARG) —
arg_feats.lst(187 real feat records across 3 categories) andarg_equip_arms_armor.lst(200 real equipment records across 4 categories), ingested under Shape B v1 withlicense/pi_field/pi_markerschema extension. - Pathfinder Unchained (PU) — class-feature roster ingested under Shape B v1 with the same license-aware schema extension as ARG.
Shape B v1 schema extension (SD-27).
license/pi_field/pi_markerlicense-aware schema added to all 4 already-ingested in-scope books (CRB, APG, ACG, Bestiary 1) plus the 2 new books (ARG, PU).- All 6 books' equipment corpus enriched with raw_tokens and raw_bonus_chains; license-aware cache shape settled for the ARG pilot.
Rules engine + character mutation (SD-23, SD-24, SD-25).
- Hub-of-hubs refactor — Codex's character-mutation command surface restructured as a rule-system-adapter hub (
apps/desktop/src-tauri/src/character_hub.rsand friends). Every shipped affordance reads/writes real SD-26 JSON content end-to-end. - PF1 multiclass save/BAB stacking correctly computed (SD-24).
- Character-level-up residual bugs from Epic 7's class-specific explanation filters audited and fixed (SD-25).
- Wizard spellbook / school-powers chassis completed (SD-25).
- DM Toolkit — encounter difficulty + party challenge rating calculator (SD-22).
Desktop shell + PCGen harness (SD-25, SD-26).
- PCGen Runner foundation — Rust-side wrapper around
scripts/pcgen-run-character.shandscripts/pcgen-normalize-output.pyfor headless batch-export runs; used by SD-26's oracle harness (seeapps/desktop/src/oracle_validation/). - Ingest Diagnostic Panel — corpus-ingest diagnostic surface introduced (SD-25).
- Real, book-agnostic corpus loader wired (v0.6 cut), so the desktop shell loads from whichever book the character class/race is sourced from.
Defects Fixed
The full defect-by-defect enumeration for this combined release lives in:
docs/release/SD-22/artifacts/cycles/(SD-22 closures)docs/release/SD-23-character-mutation-and-wired-integration/artifacts/cycles/(SD-23 closures)docs/release/SD-24-beta-readiness-and-multiclass/artifacts/cycles/(SD-24 closures)docs/release/SD-25-ui-evaluation-defect-closure/cycles/(SD-25 closures)docs/release/SD-26-ingest-strategy-and-rule-system-plumbing/artifacts/cycles/(SD-26 closures)docs/release/SD-27-future-state-book-content-ingestion/artifacts/cycles/(SD-27 closures)
Headline items:
- Tranche/6 alpha-bar defects (6 acceptance criteria, attested by QA): a tester can install Codex, create a character of any class or race from CRB/Bestiary 1/APG/ACG, advance through at least 6 levels (multiclass), select spells/feats/equipment, record bio notes, manage money, and have every rules calculation match PCGen within tolerance. No
Coming soonUI surface survives in this build. - Tranche/7 (SD-27 Phase 2) player-reachability defects: every ARG/PU class feature, spell, and racial trait reaches the character sheet end-to-end. PCGen parity baseline established at the ARG pilot case. Wired-integration four-check audit re-run for every defect closure.
- Surface staleness defects: ARG/PU surfaced in the spell catalog, equipment catalog refreshed to all 6 ingested books, catalog totals corrected.
Operational Notes
- Branch policy. Single shared
tranche/6branch for the v0.6 alpha cut; single sharedtranche/7branch for the SD-27 closure. Per-tranche cuts fromdevelopper the standing doctrine. No per-slice branches for these cuts (the alpha-bar and SD-27 closure were treated as single-batch drops perdocs/release/v0.6/release-swarm.md§2 anddocs/release/SD-27-future-state-book-content-ingestion/loop-instruction.md). - Commit serialization (tranche/6 only — not enforced on tranche/7): teammates announce "committing" to the lead, commit, announce "done"; the lead arbitrates. Long
cargo testruns are likewise announced so the frontend build and backend test loop don't thrash the same target dir. - Wired-integration four-check audit is load-bearing in the swarm report at §1.5, §4.4, and §7.1 (tranche/6) and in
docs/release/SD-27-future-state-book-content-ingestion/artifacts/(tranche/7). Only the per-cycle receipt ceremony was waived for the tranche/6 swarm, per the doctrine's own waiver mechanism. - Tranche promotion rule (per
docs/release/SD-21/decisions.md §18): the tranche digit advances by exactly 1 pertranche/Ncut. SD-22/23/24/25 → tranche/5.* (no advance), v0.6 alpha cut → tranche/6 (advance to digit 6), SD-27 closure → tranche/7 (advance to digit 7 — this release). SD-28 → v0.8, SD-29 → v0.9, SD-30 → v0.10. - Build version scheme is
<major>.<tranche-base>.<build>(perdocs/release/SD-21/decisions.md §18); the repo filesapps/desktop/package.json,apps/desktop/src-tauri/tauri.conf.json,apps/desktop/src-tauri/Cargo.tomland the workflow stamppublish-tester-release.ymlare kept in lockstep bysrc/sd21/buildVersionTriple.test.ts.
Verification Evidence
- Alpha bar attestation:
docs/release/v0.6/SWARM_REPORT.mdcarries the QA engineer's per-acceptance-criterion attestation of all 6 alpha-bar criteria. - SD-27 closure gate:
docs/release/SD-27-future-state-book-content-ingestion/artifacts/epic_4/advanced_race_guide_parity-cycle_receipt.mdcarries the per-book, per-content-kind reach verification. - Tranche/7-1 reach gate:
docs/release/SD-27-future-state-book-content-ingestion/artifacts/epic_5/carries the player-reachability proof (reach-gate,display-value,PCGen parity baseline). scripts/verify.sh --full: exit 0 at SD-27 closure (Phase 2) and at the v0.7 alpha cut. The verify script's run on the v0.7-cut commit produced 0 failures across core crate, desktop shell, frontend typecheck, frontend tests, wired-integration four-check audit, and the build-version triple consistency test.- Build version triple consistency:
apps/desktop/src/sd21/buildVersionTriple.test.ts(and the SD-22 mirror atapps/desktop/src/releaseChecks/buildVersionTriple.test.ts) confirmpackage.json==tauri.conf.json==Cargo.toml== workflow-stamp prefix, all starting with0.7..
Known Issues
- PCGen parity rate is documented "match rate at the time of cycle close," not a required full match (per
docs/release/SD-27-future-state-book-content-ingestion/decisions.md §10). Inherited CG-03 (Human ability-modifier) is v0.6's lane, not this cycle's to fix. - PCGen Gradle wrapper is not available on every host. PR #356 + PR #357 added gradle-wrapper-runnability skip guards to the SD-26 pilot test, the SD-27 ARG/PU parity tests, and the v0.6 Wizard pilot test. The wrapper, runner script, and parser are still exercised end-to-end on any host where the PCGen checkout is available. A real failure of any of those components (script missing, normalizer non-zero exit, parseable-output contract violated) is still surfaced as a hard test failure.
- Tranche/6 (v0.6.120) reclassification: the published GitHub release
alpha-v0.6.120-5c432a1bcarries the SD-21 release-notes body and thev0.6.120version stamp. Per the operator directive of 2026-08-01, the substantive content of that release should be reclassified as v0.7 (this document). GitHub Releases do not allow re-tagging; the durable record is the workflow's correct stamp going forward and the corrected body indocs/release/v0.7/release-notes.md(this file). - Tranche/6 alpha bar is not a full readiness certification — it's a tester-installable alpha. Tester-known issues are tracked in
docs/release/v0.6/risks-and-open-questions.mdanddocs/release/SD-27-future-state-book-content-ingestion/risks-and-open-questions.md.
Update ...
alpha v0.9.123 (2ff809d4)
Summary
This v0.7 alpha release combines the work that landed across two tranche cuts:
- tranche/6 — the v0.6 alpha cut that shipped the SD-22/23/24/25 bundles plus the early SD-27 ingestion work, all under the published tag
alpha-v0.6.<build>. The release version stamped at publish time wasv0.6.120because the tranche-base-7 advance was missed; this combined release-notes document reclassifies the substantive content asv0.7per the operator directive of 2026-08-01. - tranche/7 — the SD-27 closure work, including the tranche/7-1 player-reachability extension that landed 2026-08-01.
The version bump from 0.6 → 0.7 reflects the operator's tranche-promotion rule (docs/release/SD-21/decisions.md §18): the tranche digit advances by exactly 1 per tranche cut, so SD-27's closure on tranche/7 advances the digit from 6 to 7. The v0.6.120 publish at 5c432a1b was a missed advance; this fix lands the 0.7.0 advance in the repo, retroactively matching the substantive content of the cut. SD-28/29/30 follow the same one-advance-per-tranche-cut rule (v0.8.0 / v0.9.0 / v0.10.0).
The bundle landmass covers SD-22 (Content-Source Ingest for APG + ACG + Bestiary 1 + DM Toolkit), SD-23 (Character-Mutation + Wired-Integration), SD-24 (Beta-Readiness + Multiclass), SD-25 (UI-Evaluation Defect Closure + Hub-of-Hubs Refactor + PCGen Runner + Ingest Diagnostic Sketch), and SD-27 (Future-State Book Content Ingestion for Advanced Race Guide + Pathfinder Unchained + Shape B v1 schema extension retro-fitted to the four already-ingested books).
User-Visible Changes
Content ingestion (SD-22, SD-27).
- Advanced Player's Guide (APG) — 6 real base classes: Alchemist, Cavalier, Inquisitor, Oracle, Summoner, Witch; bootstrap spell and equipment tables; resolvable via
RuleSetId::Apg. - Advanced Class Guide (ACG) — 10 real base classes: Arcanist, Bloodrager, Brawler, Hunter, Investigator, Shaman, Skald, Slayer, Swashbuckler, Warpriest; bootstrap spell and equipment tables; resolvable via
RuleSetId::Acg. - Bestiary 1 — full monster data transcribed from the public PCGen
.lstcorpus, resolvable viaRuleSetId::Bestiary1. - Advanced Race Guide (ARG) —
arg_feats.lst(187 real feat records across 3 categories) andarg_equip_arms_armor.lst(200 real equipment records across 4 categories), ingested under Shape B v1 withlicense/pi_field/pi_markerschema extension. - Pathfinder Unchained (PU) — class-feature roster ingested under Shape B v1 with the same license-aware schema extension as ARG.
Shape B v1 schema extension (SD-27).
license/pi_field/pi_markerlicense-aware schema added to all 4 already-ingested in-scope books (CRB, APG, ACG, Bestiary 1) plus the 2 new books (ARG, PU).- All 6 books' equipment corpus enriched with raw_tokens and raw_bonus_chains; license-aware cache shape settled for the ARG pilot.
Rules engine + character mutation (SD-23, SD-24, SD-25).
- Hub-of-hubs refactor — Codex's character-mutation command surface restructured as a rule-system-adapter hub (
apps/desktop/src-tauri/src/character_hub.rsand friends). Every shipped affordance reads/writes real SD-26 JSON content end-to-end. - PF1 multiclass save/BAB stacking correctly computed (SD-24).
- Character-level-up residual bugs from Epic 7's class-specific explanation filters audited and fixed (SD-25).
- Wizard spellbook / school-powers chassis completed (SD-25).
- DM Toolkit — encounter difficulty + party challenge rating calculator (SD-22).
Desktop shell + PCGen harness (SD-25, SD-26).
- PCGen Runner foundation — Rust-side wrapper around
scripts/pcgen-run-character.shandscripts/pcgen-normalize-output.pyfor headless batch-export runs; used by SD-26's oracle harness (seeapps/desktop/src/oracle_validation/). - Ingest Diagnostic Panel — corpus-ingest diagnostic surface introduced (SD-25).
- Real, book-agnostic corpus loader wired (v0.6 cut), so the desktop shell loads from whichever book the character class/race is sourced from.
Defects Fixed
The full defect-by-defect enumeration for this combined release lives in:
docs/release/SD-22/artifacts/cycles/(SD-22 closures)docs/release/SD-23-character-mutation-and-wired-integration/artifacts/cycles/(SD-23 closures)docs/release/SD-24-beta-readiness-and-multiclass/artifacts/cycles/(SD-24 closures)docs/release/SD-25-ui-evaluation-defect-closure/cycles/(SD-25 closures)docs/release/SD-26-ingest-strategy-and-rule-system-plumbing/artifacts/cycles/(SD-26 closures)docs/release/SD-27-future-state-book-content-ingestion/artifacts/cycles/(SD-27 closures)
Headline items:
- Tranche/6 alpha-bar defects (6 acceptance criteria, attested by QA): a tester can install Codex, create a character of any class or race from CRB/Bestiary 1/APG/ACG, advance through at least 6 levels (multiclass), select spells/feats/equipment, record bio notes, manage money, and have every rules calculation match PCGen within tolerance. No
Coming soonUI surface survives in this build. - Tranche/7 (SD-27 Phase 2) player-reachability defects: every ARG/PU class feature, spell, and racial trait reaches the character sheet end-to-end. PCGen parity baseline established at the ARG pilot case. Wired-integration four-check audit re-run for every defect closure.
- Surface staleness defects: ARG/PU surfaced in the spell catalog, equipment catalog refreshed to all 6 ingested books, catalog totals corrected.
Operational Notes
- Branch policy. Single shared
tranche/6branch for the v0.6 alpha cut; single sharedtranche/7branch for the SD-27 closure. Per-tranche cuts fromdevelopper the standing doctrine. No per-slice branches for these cuts (the alpha-bar and SD-27 closure were treated as single-batch drops perdocs/release/v0.6/release-swarm.md§2 anddocs/release/SD-27-future-state-book-content-ingestion/loop-instruction.md). - Commit serialization (tranche/6 only — not enforced on tranche/7): teammates announce "committing" to the lead, commit, announce "done"; the lead arbitrates. Long
cargo testruns are likewise announced so the frontend build and backend test loop don't thrash the same target dir. - Wired-integration four-check audit is load-bearing in the swarm report at §1.5, §4.4, and §7.1 (tranche/6) and in
docs/release/SD-27-future-state-book-content-ingestion/artifacts/(tranche/7). Only the per-cycle receipt ceremony was waived for the tranche/6 swarm, per the doctrine's own waiver mechanism. - Tranche promotion rule (per
docs/release/SD-21/decisions.md §18): the tranche digit advances by exactly 1 pertranche/Ncut. SD-22/23/24/25 → tranche/5.* (no advance), v0.6 alpha cut → tranche/6 (advance to digit 6), SD-27 closure → tranche/7 (advance to digit 7 — this release). SD-28 → v0.8, SD-29 → v0.9, SD-30 → v0.10. - Build version scheme is
<major>.<tranche-base>.<build>(perdocs/release/SD-21/decisions.md §18); the repo filesapps/desktop/package.json,apps/desktop/src-tauri/tauri.conf.json,apps/desktop/src-tauri/Cargo.tomland the workflow stamppublish-tester-release.ymlare kept in lockstep bysrc/sd21/buildVersionTriple.test.ts.
Verification Evidence
- Alpha bar attestation:
docs/release/v0.6/SWARM_REPORT.mdcarries the QA engineer's per-acceptance-criterion attestation of all 6 alpha-bar criteria. - SD-27 closure gate:
docs/release/SD-27-future-state-book-content-ingestion/artifacts/epic_4/advanced_race_guide_parity-cycle_receipt.mdcarries the per-book, per-content-kind reach verification. - Tranche/7-1 reach gate:
docs/release/SD-27-future-state-book-content-ingestion/artifacts/epic_5/carries the player-reachability proof (reach-gate,display-value,PCGen parity baseline). scripts/verify.sh --full: exit 0 at SD-27 closure (Phase 2) and at the v0.7 alpha cut. The verify script's run on the v0.7-cut commit produced 0 failures across core crate, desktop shell, frontend typecheck, frontend tests, wired-integration four-check audit, and the build-version triple consistency test.- Build version triple consistency:
apps/desktop/src/sd21/buildVersionTriple.test.ts(and the SD-22 mirror atapps/desktop/src/releaseChecks/buildVersionTriple.test.ts) confirmpackage.json==tauri.conf.json==Cargo.toml== workflow-stamp prefix, all starting with0.7..
Known Issues
- PCGen parity rate is documented "match rate at the time of cycle close," not a required full match (per
docs/release/SD-27-future-state-book-content-ingestion/decisions.md §10). Inherited CG-03 (Human ability-modifier) is v0.6's lane, not this cycle's to fix. - PCGen Gradle wrapper is not available on every host. PR #356 + PR #357 added gradle-wrapper-runnability skip guards to the SD-26 pilot test, the SD-27 ARG/PU parity tests, and the v0.6 Wizard pilot test. The wrapper, runner script, and parser are still exercised end-to-end on any host where the PCGen checkout is available. A real failure of any of those components (script missing, normalizer non-zero exit, parseable-output contract violated) is still surfaced as a hard test failure.
- Tranche/6 (v0.6.120) reclassification: the published GitHub release
alpha-v0.6.120-5c432a1bcarries the SD-21 release-notes body and thev0.6.120version stamp. Per the operator directive of 2026-08-01, the substantive content of that release should be reclassified as v0.7 (this document). GitHub Releases do not allow re-tagging; the durable record is the workflow's correct stamp going forward and the corrected body indocs/release/v0.7/release-notes.md(this file). - Tranche/6 alpha bar is not a full readiness certification — it's a tester-installable alpha. Tester-known issues are tracked in
docs/release/v0.6/risks-and-open-questions.mdanddocs/release/SD-27-future-state-book-content-ingestion/risks-and-open-questions.md.
Update ...
alpha v0.8.122 (a1295856)
Release Notes: SD-21 Campaign Manager + Drive + Multiclass Support + Identifier Cleanup + Update UI Bug + Build Versioning
Summary
Release: tranche/4-1 (dash release off Tranche 4). Build version: 0.4.94.
This tranche ships a Campaign Manager with local-folder persistence, fixes a real update-UI bug where release notes and install eligibility never actually reflected fetched/probed state, completes Wizard's spellbook/school-powers chassis and PF1 multiclass save/BAB stacking, runs a code-side identifier-cleanup pass, and establishes the <major>.<tranche-base>.<build> build-version scheme.
Generated as part of Epic 4 (Closure Epilogue), criterion E4.22. Sourced from ~/workspace/SD-21-campaign-manager-and-persistence-progress.md's ## Status matrix and ## Cycle log. Every commit SHA below is a real, landed commit on tranche/4-1.
User-Visible Changes
Campaign Manager + local-folder persistence (Epic 2).
CampaignSnapshottypes (id, name, ruleSetId/Label, description, members, party character IDs, four asset lists,schema_version) landed in a newsrc/campaign/module, mirroringcampaignModel.ts'sCampaign/CampaignAssetsshape 1:1 —f208588.- Concrete
CampaignStorestruct (not a trait — no second backend exists yet) providing save/load with per-entry-failure isolation and a missing-root-tolerantlist_all, mirroringSavedCharacterStore's conventions —739867c. - Local-folder persistence layout (
.config/<name>.json+ per-asset markdown files underresources/adventure-log/maps/wiki/), targeting a Google-Drive-for-Desktop-synced folder the user points at directly (Google OAuth/Drive-API descoped from this release per operator directive) —da7cc5f. - Four new Tauri commands —
drive_list_campaigns,drive_load_campaign,drive_save_campaign,drive_delete_campaign— extending the already-shippedcampaign_drive.rs/writeCampaignDriveArtifacts.tsboundary;write_campaign_drive_artifactsbecame a thin adapter delegating toCampaignStorewhile keeping its request/response contract unchanged —b46e5cc. - Markdown file layout verified round-trip-safe with external (Obsidian-style) edits —
dec3984. - Nonce-based conflict detection on load: a stale nonce with genuinely differing content moves the prior on-disk state to
conflicts/<timestamp>/before writing —f761af1. - Campaign Manager's landing-page authorization copy rewritten to describe the local-folder picker directly, removing leftover OAuth-flavored language —
a115da7.
Rules engine: Wizard chassis, spellbook, and school-powers completion (Epic 6 + Epic 6b).
compute_pilot_base_chassisrefactored from Fighter-only to per-class dispatch;compute_wizard_chassiscreated, consuming the existing per-classBabProgression/GoodSavestables —2fe3b9f.compute_combat_baselineandcompute_selected_skill_modifierswidened from a Fighter-only gate to the full dispatch-supported class set, so Wizard's melee attack bonus, armor class, and skill-modifier cells stop renderingBlocked—6ed19bd.- Real prepared-spellbook system grounded: spellbook contents, daily preparation, and the prepared-vs-spontaneous distinction, with a verified PF1 Wizard spells-per-day table (levels 1-3) and slot-consumption validation — resolves
class_spell.wizard.prepared_spellbook.unsupported—de554ab. - Real Arcane School selection grounded: Evocation's Intense Spells / Force Missile school powers, plus the PF1 opposed-school 2-slot preparation-cost penalty — resolves
class_feature.wizard.school_powers_and_opposed_school_cost.unsupported—1c7ad89.
Multiclass stacking (Epic 7).
compute_pilot_base_chassisextended to length-2+class_levelsvia a newcompute_multiclass_base_chassis, running each class's own chassis computation in isolation and combining BAB —63e4c2e.- PF1's actual best-fractional-progression save-stacking rule implemented (summed fractional save contributions per class, floored once), replacing a naive per-class-round-then-sum approximation —
02ff5ef. - Per-class feature integration reconciled: Fighter's own feature grants (e.g. Bravery) no longer silently vanish when another class joins the mix —
17bac41.
Defects Fixed
Update-UI release-notes and eligibility bug (Epic 3).
- Release-notes body now actually fetched and displayed:
fetchReleaseNotesBodyadded toapps/desktop/src/sd16/update/fetch.ts, verified againstrelease_notes_hash, wired intocontrollerAdapter.ts'srunChecksodeps.releaseNotesis populated instead of permanently'unavailable'—8b984e8. is_install_eligible(previously a registered-but-unwired Tauri stub) now reports real installed-state and managed-path-writability facts —bde03ca.computeDecision's success path no longer short-circuits to'unknown'; it now calls the existing, already-correctdecideEligibilityfed by real fetched/probed data, so the eligibility card reflects genuine install state —326e139.- Added outcome-coverage tests for each fetch/probe/decision path (unwritable managed path, deb-install-kind mapping, same-version/hash-as-installed, etc.) —
5dfd002.
Integration regressions. Two integration-level regressions surfaced only once all Epic 1/2/3/5/6/7 lanes were combined (not by any individual lane's own local tests) and were fixed directly at the merged HEAD: b207853 and 6c7a12b, both updating character_hub.rs's claim-blocking-diagnostic-shape test to the new, correct post-dispatch-widening diagnostic set.
Operational Notes
Code-side identifier cleanup (Epic 1).
- Renamed
sd*_-prefixed Tauri commands and invoke strings to descriptive names (sd16_browser_handoff→handoff_defect_report_to_browser,load_sd13_support_state_matrix→load_support_state_matrix, plus their supporting types) —9206ad0. - Renamed
Sd13/Sd16/SD16-carrying TypeScript functions, types, and constants; rewroteSD-N/AV-PAY-N/t_<hex>inline doc-comments as plain prose; strippedsd16-prefixes fromdata-testidattributes — landed across three parallel lanes and closure-gate re-verified via a full-repo grep —22fa0a9. - A subsequent closure-gate scan found three small leftover leaks the parallel lanes' disjoint scopes had missed (
character_hub.rs'ssd19_demo_spells_selected,browserHandoff.ts's stale doc-comment,update/transaction.rs's header +t_<hex>tokens); fixed and re-verified via the full literal grep —25e5050.
Build version numbering (Epic 5).
- Three version files (
apps/desktop/package.json,apps/desktop/src-tauri/tauri.conf.json,apps/desktop/src-tauri/Cargo.toml) bumped from0.1.0to0.4.94under the new<major>.<tranche-base>.<build>three-position scheme (majorstays0until first main-publish;tranche-baseis4fortranche/4-1;buildis the monotonic per-build counter)..github/workflows/publish-tester-release.yml's publish-time stamp updated to match the new triple so published/tester builds don't silently revert to the old scheme —6ea6bfd. - Build-label format updated:
BUILD_PREFIXchanged'codex'→'Codex', template changed from${BUILD_PREFIX}@${buildVersion}to${BUILD_PREFIX} ${buildVersion}—5980037. - New
docs/release/SD-21/release-closure-checklist.mddocumenting the four-step version-bump process for future closure epilogues —d487416. - This closure cycle (Epic 4) confirmed the tranche position does not bump this time:
tranche/4-1is not being promoted to a new tranche number, so0.4.94stands as the final version for this release. The tranche-bump logic (0.4.<last_build>→0.5.0) fires the next time a new tranche actually launches.
Verification Evidence
- Capstone reproducer verified directly: a single-class Human Wizard 3, Evocation specialization, populated spellbook, and a daily preparation selection reaches
Status: Computedwith zero claim-blocking diagnostics (tests/sd21_epic6b_full_completion_reproducer.rs). - Identifier-cleanup renames closure-gate re-verified via a full-repo literal grep after each lane and again after the closure-gate scan found three leftover leaks (all fixed and re-verified).
- Every commit SHA cited above is a real, landed commit on
tranche/4-1, sourced from the bundle's own progress doc status matrix and cycle log.
Known Issues
- The four new
drive_*Tauri commands are not yet called fromapps/desktop/src/boundary/— the GUI's campaign persistence flow still goes through the pre-existing write-onlywrite_campaign_drive_artifactspath. Wiring the frontend to load/list/delete from disk is real follow-on scope, not a regression. - Only Fighter and Wizard are dispatch-supported in the rules engine today. Every other single class (Barbarian, Bard, Cleric, Druid, Monk, Paladin, Ranger, Rogue, Sorcerer) still falls through to the generic
class_chassis.unsupporteddiagnostic — straightforward per-class follow-on work, not attempted in this release given effort budget. perform_installremains an honest deferred stub (no HTTP client dependency in this crate for the AppImage download step); this is a documented, non-blocking scope boundary, not a regression.
Update Eligibility
- This release directly fixes update eligibility reporting (see Defects Fixed above):
is_install_eligibleandcomputeDecisionnow reflect genuine fetched/probed install state instead of permanently reporting'unknown'/stub values. - Install target and mechanism are otherwise unchanged from SD-16's established Linux AppImage flow (
docs/release/SD-16/release-notes.md).
alpha v0.7.120 (5c432a1b) — reclassified from v0.6.120 (combined tranche/6 + tranche/7 release notes)
Summary
This v0.7 alpha release combines the work that landed across two tranche cuts:
- tranche/6 — the v0.6 alpha cut that shipped the SD-22/23/24/25 bundles plus the early SD-27 ingestion work, all under the published tag
alpha-v0.6.<build>. The release version stamped at publish time wasv0.6.120because the tranche-base-7 advance was missed; this combined release-notes document reclassifies the substantive content asv0.7per the operator directive of 2026-08-01. - tranche/7 — the SD-27 closure work, including the tranche/7-1 player-reachability extension that landed 2026-08-01.
The version bump from 0.6 → 0.7 reflects the operator's tranche-promotion rule (docs/release/SD-21/decisions.md §18): the tranche digit advances by exactly 1 per tranche cut, so SD-27's closure on tranche/7 advances the digit from 6 to 7. The v0.6.120 publish at 5c432a1b was a missed advance; this fix lands the 0.7.0 advance in the repo, retroactively matching the substantive content of the cut. SD-28/29/30 follow the same one-advance-per-tranche-cut rule (v0.8.0 / v0.9.0 / v0.10.0).
The bundle landmass covers SD-22 (Content-Source Ingest for APG + ACG + Bestiary 1 + DM Toolkit), SD-23 (Character-Mutation + Wired-Integration), SD-24 (Beta-Readiness + Multiclass), SD-25 (UI-Evaluation Defect Closure + Hub-of-Hubs Refactor + PCGen Runner + Ingest Diagnostic Sketch), and SD-27 (Future-State Book Content Ingestion for Advanced Race Guide + Pathfinder Unchained + Shape B v1 schema extension retro-fitted to the four already-ingested books).
User-Visible Changes
Content ingestion (SD-22, SD-27).
- Advanced Player's Guide (APG) — 6 real base classes: Alchemist, Cavalier, Inquisitor, Oracle, Summoner, Witch; bootstrap spell and equipment tables; resolvable via
RuleSetId::Apg. - Advanced Class Guide (ACG) — 10 real base classes: Arcanist, Bloodrager, Brawler, Hunter, Investigator, Shaman, Skald, Slayer, Swashbuckler, Warpriest; bootstrap spell and equipment tables; resolvable via
RuleSetId::Acg. - Bestiary 1 — full monster data transcribed from the public PCGen
.lstcorpus, resolvable viaRuleSetId::Bestiary1. - Advanced Race Guide (ARG) —
arg_feats.lst(187 real feat records across 3 categories) andarg_equip_arms_armor.lst(200 real equipment records across 4 categories), ingested under Shape B v1 withlicense/pi_field/pi_markerschema extension. - Pathfinder Unchained (PU) — class-feature roster ingested under Shape B v1 with the same license-aware schema extension as ARG.
Shape B v1 schema extension (SD-27).
license/pi_field/pi_markerlicense-aware schema added to all 4 already-ingested in-scope books (CRB, APG, ACG, Bestiary 1) plus the 2 new books (ARG, PU).- All 6 books' equipment corpus enriched with raw_tokens and raw_bonus_chains; license-aware cache shape settled for the ARG pilot.
Rules engine + character mutation (SD-23, SD-24, SD-25).
- Hub-of-hubs refactor — Codex's character-mutation command surface restructured as a rule-system-adapter hub (
apps/desktop/src-tauri/src/character_hub.rsand friends). Every shipped affordance reads/writes real SD-26 JSON content end-to-end. - PF1 multiclass save/BAB stacking correctly computed (SD-24).
- Character-level-up residual bugs from Epic 7's class-specific explanation filters audited and fixed (SD-25).
- Wizard spellbook / school-powers chassis completed (SD-25).
- DM Toolkit — encounter difficulty + party challenge rating calculator (SD-22).
Desktop shell + PCGen harness (SD-25, SD-26).
- PCGen Runner foundation — Rust-side wrapper around
scripts/pcgen-run-character.shandscripts/pcgen-normalize-output.pyfor headless batch-export runs; used by SD-26's oracle harness (seeapps/desktop/src/oracle_validation/). - Ingest Diagnostic Panel — corpus-ingest diagnostic surface introduced (SD-25).
- Real, book-agnostic corpus loader wired (v0.6 cut), so the desktop shell loads from whichever book the character class/race is sourced from.
Defects Fixed
The full defect-by-defect enumeration for this combined release lives in:
docs/release/SD-22/artifacts/cycles/(SD-22 closures)docs/release/SD-23-character-mutation-and-wired-integration/artifacts/cycles/(SD-23 closures)docs/release/SD-24-beta-readiness-and-multiclass/artifacts/cycles/(SD-24 closures)docs/release/SD-25-ui-evaluation-defect-closure/cycles/(SD-25 closures)docs/release/SD-26-ingest-strategy-and-rule-system-plumbing/artifacts/cycles/(SD-26 closures)docs/release/SD-27-future-state-book-content-ingestion/artifacts/cycles/(SD-27 closures)
Headline items:
- Tranche/6 alpha-bar defects (6 acceptance criteria, attested by QA): a tester can install Codex, create a character of any class or race from CRB/Bestiary 1/APG/ACG, advance through at least 6 levels (multiclass), select spells/feats/equipment, record bio notes, manage money, and have every rules calculation match PCGen within tolerance. No
Coming soonUI surface survives in this build. - Tranche/7 (SD-27 Phase 2) player-reachability defects: every ARG/PU class feature, spell, and racial trait reaches the character sheet end-to-end. PCGen parity baseline established at the ARG pilot case. Wired-integration four-check audit re-run for every defect closure.
- Surface staleness defects: ARG/PU surfaced in the spell catalog, equipment catalog refreshed to all 6 ingested books, catalog totals corrected.
Operational Notes
- Branch policy. Single shared
tranche/6branch for the v0.6 alpha cut; single sharedtranche/7branch for the SD-27 closure. Per-tranche cuts fromdevelopper the standing doctrine. No per-slice branches for these cuts (the alpha-bar and SD-27 closure were treated as single-batch drops perdocs/release/v0.6/release-swarm.md§2 anddocs/release/SD-27-future-state-book-content-ingestion/loop-instruction.md). - Commit serialization (tranche/6 only — not enforced on tranche/7): teammates announce "committing" to the lead, commit, announce "done"; the lead arbitrates. Long
cargo testruns are likewise announced so the frontend build and backend test loop don't thrash the same target dir. - Wired-integration four-check audit is load-bearing in the swarm report at §1.5, §4.4, and §7.1 (tranche/6) and in
docs/release/SD-27-future-state-book-content-ingestion/artifacts/(tranche/7). Only the per-cycle receipt ceremony was waived for the tranche/6 swarm, per the doctrine's own waiver mechanism. - Tranche promotion rule (per
docs/release/SD-21/decisions.md §18): the tranche digit advances by exactly 1 pertranche/Ncut. SD-22/23/24/25 → tranche/5.* (no advance), v0.6 alpha cut → tranche/6 (advance to digit 6), SD-27 closure → tranche/7 (advance to digit 7 — this release). SD-28 → v0.8, SD-29 → v0.9, SD-30 → v0.10. - Build version scheme is
<major>.<tranche-base>.<build>(perdocs/release/SD-21/decisions.md §18); the repo filesapps/desktop/package.json,apps/desktop/src-tauri/tauri.conf.json,apps/desktop/src-tauri/Cargo.tomland the workflow stamppublish-tester-release.ymlare kept in lockstep bysrc/sd21/buildVersionTriple.test.ts.
Verification Evidence
- Alpha bar attestation:
docs/release/v0.6/SWARM_REPORT.mdcarries the QA engineer's per-acceptance-criterion attestation of all 6 alpha-bar criteria. - SD-27 closure gate:
docs/release/SD-27-future-state-book-content-ingestion/artifacts/epic_4/advanced_race_guide_parity-cycle_receipt.mdcarries the per-book, per-content-kind reach verification. - Tranche/7-1 reach gate:
docs/release/SD-27-future-state-book-content-ingestion/artifacts/epic_5/carries the player-reachability proof (reach-gate,display-value,PCGen parity baseline). scripts/verify.sh --full: exit 0 at SD-27 closure (Phase 2) and at the v0.7 alpha cut. The verify script's run on the v0.7-cut commit produced 0 failures across core crate, desktop shell, frontend typecheck, frontend tests, wired-integration four-check audit, and the build-version triple consistency test.- Build version triple consistency:
apps/desktop/src/sd21/buildVersionTriple.test.ts(and the SD-22 mirror atapps/desktop/src/releaseChecks/buildVersionTriple.test.ts) confirmpackage.json==tauri.conf.json==Cargo.toml== workflow-stamp prefix, all starting with0.7..
Known Issues
- PCGen parity rate is documented "match rate at the time of cycle close," not a required full match (per
docs/release/SD-27-future-state-book-content-ingestion/decisions.md §10). Inherited CG-03 (Human ability-modifier) is v0.6's lane, not this cycle's to fix. - PCGen Gradle wrapper is not available on every host. PR #356 + PR #357 added gradle-wrapper-runnability skip guards to the SD-26 pilot test, the SD-27 ARG/PU parity tests, and the v0.6 Wizard pilot test. The wrapper, runner script, and parser are still exercised end-to-end on any host where the PCGen checkout is available. A real failure of any of those components (script missing, normalizer non-zero exit, parseable-output contract violated) is still surfaced as a hard test failure.
- Tranche/6 (v0.6.120) reclassification: the published GitHub release
alpha-v0.6.120-5c432a1bcarries the SD-21 release-notes body and thev0.6.120version stamp. Per the operator directive of 2026-08-01, the substantive content of that release should be reclassified as v0.7 (this document). GitHub Releases do not allow re-tagging; the durable record is the workflow's correct stamp going forward and the corrected body indocs/release/v0.7/release-notes.md(this file). - Tranche/6 alpha bar is not a full readiness certification — it's a tester-installable alpha. Tester-known issues are tracked in
docs/release/v0.6/risks-and-open-questions.mdanddocs/release/SD-27-future-state-book-content-ingestion/risks-and-open-questions.md.
Update ...
alpha v0.5.105 (25093c79)
Release Notes: SD-16 Feedback Loop and Self-Update Hardening
Summary
Tranche 2.5 makes the Codex shell scaffold the real operational path for defect submission and self-update. The shell will be able to file a defect through a real GitHub browser handoff, consume governed release-channel indexes, display tranche release notes, install an AppImage update through a staged transaction, verify relaunch, and prove that the originally reported defect is fixed in the updated build.
User-Visible Changes
- Add shell defect submission flow that opens a prefilled GitHub issue form.
- Add alpha/beta/stable update channel selector.
- Add Check action that fetches the release-lane-generated channel index and displays release notes/update eligibility.
- Add Install action for eligible Linux AppImage builds.
- Add compact updater diagnostics showing installed state, last check, pending/rollback state, and update storage status.
- Show explicit disabled reasons for local/dev/non-AppImage/non-writable/ineligible update contexts.
Defects Fixed
- Shell defect logging is no longer a side-channel/manual process after this tranche is complete.
- Shell updates are no longer manual download/install or mock status experiences after this tranche is complete.
- Prior release/channel ambiguity is repaired by introducing
develop=alpha,test=beta,main=stable, protected promotion PRs, and channel indexes. - Prior release-note ambiguity is repaired by using canonical tranche release notes generated at tranche inception and amended by PR review.
Operational Notes
- Linux AppImage is the first-class update target for Tranche 2.5.
.debmay remain a secondary install artifact but is not the first self-update path.- The
update-indexbranch is a protected update-control surface; only the release lane writes channel index files in the normal path. - Signing is deferred, but schema fields reserve future signing support.
- Todd retains approval/merge authority for promotion PRs unless explicitly delegated.
Verification Evidence
Final release evidence must include:
- GitHub issue URL
- PR URL
- merge commit
- GitHub Release URL
- update-index commit
- manifest URL
- checksum verification result
- shell Check evidence
- shell Install/relaunch verification evidence
- post-update installed-state
- defect-fixed verification
This section must be amended by each Spec Domain PR when execution produces concrete evidence.
Known Issues
- Cryptographic signing is not implemented in Tranche 2.5; signature fields are reserved for later hardening.
- Browser issue handoff does not prove issue submission inside the shell; acceptance verifies the real GitHub issue exists externally.
- macOS and Windows updater mechanics are out of scope for this tranche.
- Repair/reinstall mode is deferred unless separately scoped.
Update Eligibility
- Eligible install target: Linux AppImage official governed builds.
- Local/dev builds may Check for release notes but cannot Install.
- Install requires:
- selected channel index validates
- update manifest validates
- AppImage checksum validates
- current managed executable path matches installed-state
- managed path is writable or stageable
- selected release is newer/eligible under parsed channel/version/artifact policy
- Final alpha acceptance requires the shell to consume an alpha release produced from
developand update through the shell.
alpha v0.0.93 (27155804)
Release Notes: SD-16 Feedback Loop and Self-Update Hardening
Summary
Tranche 2.5 makes the Codex shell scaffold the real operational path for defect submission and self-update. The shell will be able to file a defect through a real GitHub browser handoff, consume governed release-channel indexes, display tranche release notes, install an AppImage update through a staged transaction, verify relaunch, and prove that the originally reported defect is fixed in the updated build.
User-Visible Changes
- Add shell defect submission flow that opens a prefilled GitHub issue form.
- Add alpha/beta/stable update channel selector.
- Add Check action that fetches the release-lane-generated channel index and displays release notes/update eligibility.
- Add Install action for eligible Linux AppImage builds.
- Add compact updater diagnostics showing installed state, last check, pending/rollback state, and update storage status.
- Show explicit disabled reasons for local/dev/non-AppImage/non-writable/ineligible update contexts.
Defects Fixed
- Shell defect logging is no longer a side-channel/manual process after this tranche is complete.
- Shell updates are no longer manual download/install or mock status experiences after this tranche is complete.
- Prior release/channel ambiguity is repaired by introducing
develop=alpha,test=beta,main=stable, protected promotion PRs, and channel indexes. - Prior release-note ambiguity is repaired by using canonical tranche release notes generated at tranche inception and amended by PR review.
Operational Notes
- Linux AppImage is the first-class update target for Tranche 2.5.
.debmay remain a secondary install artifact but is not the first self-update path.- The
update-indexbranch is a protected update-control surface; only the release lane writes channel index files in the normal path. - Signing is deferred, but schema fields reserve future signing support.
- Todd retains approval/merge authority for promotion PRs unless explicitly delegated.
Verification Evidence
Final release evidence must include:
- GitHub issue URL
- PR URL
- merge commit
- GitHub Release URL
- update-index commit
- manifest URL
- checksum verification result
- shell Check evidence
- shell Install/relaunch verification evidence
- post-update installed-state
- defect-fixed verification
This section must be amended by each Spec Domain PR when execution produces concrete evidence.
Known Issues
- Cryptographic signing is not implemented in Tranche 2.5; signature fields are reserved for later hardening.
- Browser issue handoff does not prove issue submission inside the shell; acceptance verifies the real GitHub issue exists externally.
- macOS and Windows updater mechanics are out of scope for this tranche.
- Repair/reinstall mode is deferred unless separately scoped.
Update Eligibility
- Eligible install target: Linux AppImage official governed builds.
- Local/dev builds may Check for release notes but cannot Install.
- Install requires:
- selected channel index validates
- update manifest validates
- AppImage checksum validates
- current managed executable path matches installed-state
- managed path is writable or stageable
- selected release is newer/eligible under parsed channel/version/artifact policy
- Final alpha acceptance requires the shell to consume an alpha release produced from
developand update through the shell.
alpha v0.0.92 (356097d5)
Release Notes: SD-16 Feedback Loop and Self-Update Hardening
Summary
Tranche 2.5 makes the Codex shell scaffold the real operational path for defect submission and self-update. The shell will be able to file a defect through a real GitHub browser handoff, consume governed release-channel indexes, display tranche release notes, install an AppImage update through a staged transaction, verify relaunch, and prove that the originally reported defect is fixed in the updated build.
User-Visible Changes
- Add shell defect submission flow that opens a prefilled GitHub issue form.
- Add alpha/beta/stable update channel selector.
- Add Check action that fetches the release-lane-generated channel index and displays release notes/update eligibility.
- Add Install action for eligible Linux AppImage builds.
- Add compact updater diagnostics showing installed state, last check, pending/rollback state, and update storage status.
- Show explicit disabled reasons for local/dev/non-AppImage/non-writable/ineligible update contexts.
Defects Fixed
- Shell defect logging is no longer a side-channel/manual process after this tranche is complete.
- Shell updates are no longer manual download/install or mock status experiences after this tranche is complete.
- Prior release/channel ambiguity is repaired by introducing
develop=alpha,test=beta,main=stable, protected promotion PRs, and channel indexes. - Prior release-note ambiguity is repaired by using canonical tranche release notes generated at tranche inception and amended by PR review.
Operational Notes
- Linux AppImage is the first-class update target for Tranche 2.5.
.debmay remain a secondary install artifact but is not the first self-update path.- The
update-indexbranch is a protected update-control surface; only the release lane writes channel index files in the normal path. - Signing is deferred, but schema fields reserve future signing support.
- Todd retains approval/merge authority for promotion PRs unless explicitly delegated.
Verification Evidence
Final release evidence must include:
- GitHub issue URL
- PR URL
- merge commit
- GitHub Release URL
- update-index commit
- manifest URL
- checksum verification result
- shell Check evidence
- shell Install/relaunch verification evidence
- post-update installed-state
- defect-fixed verification
This section must be amended by each Spec Domain PR when execution produces concrete evidence.
Known Issues
- Cryptographic signing is not implemented in Tranche 2.5; signature fields are reserved for later hardening.
- Browser issue handoff does not prove issue submission inside the shell; acceptance verifies the real GitHub issue exists externally.
- macOS and Windows updater mechanics are out of scope for this tranche.
- Repair/reinstall mode is deferred unless separately scoped.
Update Eligibility
- Eligible install target: Linux AppImage official governed builds.
- Local/dev builds may Check for release notes but cannot Install.
- Install requires:
- selected channel index validates
- update manifest validates
- AppImage checksum validates
- current managed executable path matches installed-state
- managed path is writable or stageable
- selected release is newer/eligible under parsed channel/version/artifact policy
- Final alpha acceptance requires the shell to consume an alpha release produced from
developand update through the shell.
alpha v0.0.91 (ac80ebdc)
Release Notes: SD-16 Feedback Loop and Self-Update Hardening
Summary
Tranche 2.5 makes the Codex shell scaffold the real operational path for defect submission and self-update. The shell will be able to file a defect through a real GitHub browser handoff, consume governed release-channel indexes, display tranche release notes, install an AppImage update through a staged transaction, verify relaunch, and prove that the originally reported defect is fixed in the updated build.
User-Visible Changes
- Add shell defect submission flow that opens a prefilled GitHub issue form.
- Add alpha/beta/stable update channel selector.
- Add Check action that fetches the release-lane-generated channel index and displays release notes/update eligibility.
- Add Install action for eligible Linux AppImage builds.
- Add compact updater diagnostics showing installed state, last check, pending/rollback state, and update storage status.
- Show explicit disabled reasons for local/dev/non-AppImage/non-writable/ineligible update contexts.
Defects Fixed
- Shell defect logging is no longer a side-channel/manual process after this tranche is complete.
- Shell updates are no longer manual download/install or mock status experiences after this tranche is complete.
- Prior release/channel ambiguity is repaired by introducing
develop=alpha,test=beta,main=stable, protected promotion PRs, and channel indexes. - Prior release-note ambiguity is repaired by using canonical tranche release notes generated at tranche inception and amended by PR review.
Operational Notes
- Linux AppImage is the first-class update target for Tranche 2.5.
.debmay remain a secondary install artifact but is not the first self-update path.- The
update-indexbranch is a protected update-control surface; only the release lane writes channel index files in the normal path. - Signing is deferred, but schema fields reserve future signing support.
- Todd retains approval/merge authority for promotion PRs unless explicitly delegated.
Verification Evidence
Final release evidence must include:
- GitHub issue URL
- PR URL
- merge commit
- GitHub Release URL
- update-index commit
- manifest URL
- checksum verification result
- shell Check evidence
- shell Install/relaunch verification evidence
- post-update installed-state
- defect-fixed verification
This section must be amended by each Spec Domain PR when execution produces concrete evidence.
Known Issues
- Cryptographic signing is not implemented in Tranche 2.5; signature fields are reserved for later hardening.
- Browser issue handoff does not prove issue submission inside the shell; acceptance verifies the real GitHub issue exists externally.
- macOS and Windows updater mechanics are out of scope for this tranche.
- Repair/reinstall mode is deferred unless separately scoped.
Update Eligibility
- Eligible install target: Linux AppImage official governed builds.
- Local/dev builds may Check for release notes but cannot Install.
- Install requires:
- selected channel index validates
- update manifest validates
- AppImage checksum validates
- current managed executable path matches installed-state
- managed path is writable or stageable
- selected release is newer/eligible under parsed channel/version/artifact policy
- Final alpha acceptance requires the shell to consume an alpha release produced from
developand update through the shell.
alpha v0.0.90 (c7ea02d3)
Release Notes: SD-16 Feedback Loop and Self-Update Hardening
Summary
Tranche 2.5 makes the Codex shell scaffold the real operational path for defect submission and self-update. The shell will be able to file a defect through a real GitHub browser handoff, consume governed release-channel indexes, display tranche release notes, install an AppImage update through a staged transaction, verify relaunch, and prove that the originally reported defect is fixed in the updated build.
User-Visible Changes
- Add shell defect submission flow that opens a prefilled GitHub issue form.
- Add alpha/beta/stable update channel selector.
- Add Check action that fetches the release-lane-generated channel index and displays release notes/update eligibility.
- Add Install action for eligible Linux AppImage builds.
- Add compact updater diagnostics showing installed state, last check, pending/rollback state, and update storage status.
- Show explicit disabled reasons for local/dev/non-AppImage/non-writable/ineligible update contexts.
Defects Fixed
- Shell defect logging is no longer a side-channel/manual process after this tranche is complete.
- Shell updates are no longer manual download/install or mock status experiences after this tranche is complete.
- Prior release/channel ambiguity is repaired by introducing
develop=alpha,test=beta,main=stable, protected promotion PRs, and channel indexes. - Prior release-note ambiguity is repaired by using canonical tranche release notes generated at tranche inception and amended by PR review.
Operational Notes
- Linux AppImage is the first-class update target for Tranche 2.5.
.debmay remain a secondary install artifact but is not the first self-update path.- The
update-indexbranch is a protected update-control surface; only the release lane writes channel index files in the normal path. - Signing is deferred, but schema fields reserve future signing support.
- Todd retains approval/merge authority for promotion PRs unless explicitly delegated.
Verification Evidence
Final release evidence must include:
- GitHub issue URL
- PR URL
- merge commit
- GitHub Release URL
- update-index commit
- manifest URL
- checksum verification result
- shell Check evidence
- shell Install/relaunch verification evidence
- post-update installed-state
- defect-fixed verification
This section must be amended by each Spec Domain PR when execution produces concrete evidence.
Known Issues
- Cryptographic signing is not implemented in Tranche 2.5; signature fields are reserved for later hardening.
- Browser issue handoff does not prove issue submission inside the shell; acceptance verifies the real GitHub issue exists externally.
- macOS and Windows updater mechanics are out of scope for this tranche.
- Repair/reinstall mode is deferred unless separately scoped.
Update Eligibility
- Eligible install target: Linux AppImage official governed builds.
- Local/dev builds may Check for release notes but cannot Install.
- Install requires:
- selected channel index validates
- update manifest validates
- AppImage checksum validates
- current managed executable path matches installed-state
- managed path is writable or stageable
- selected release is newer/eligible under parsed channel/version/artifact policy
- Final alpha acceptance requires the shell to consume an alpha release produced from
developand update through the shell.