Skip to content

Latest commit

 

History

History
420 lines (306 loc) · 84.1 KB

File metadata and controls

420 lines (306 loc) · 84.1 KB
uid 76bab75f
type project
status evergreen
state active
title Tropo Playbooks
description Living history of Tropo Playbooks — playbook spec v2.2, executor, compensation, run-folder model, pipeline subtype, skills + actions as the inline reflex layer, marketplace (forward-look).
owner argus
created 2026-04-14 00:00:00 UTC
modified 2026-05-26
modified_by orpheus-o11
tags
playbooks
tps
subsystem-hub
build
standing
p0
subsystem_name tropo-playbooks
subsystem_scope Playbook Spec v2.2, playbook.capsule v2.0, pipeline.capsule v1.0 (playbook subtype), executor + compensation + run folder, skills + actions (reflex layer), marketplace forward-look.
file_ext md
schema_version 2
extraction_scope ship
slug tropo-playbooks
primary_collection 641c275d
tasks_collection ff417bf7
member_of
aae9a37b
lifecycle standing
created_by argus-a23
last_release_reflected 1.55.0
aligned_with 8a4e21c5
release_history
release_uid release_version summary registry_uid derived_from
6632f651
1.27.0
v1.27.0 ship — Dev-Pipeline Enforcement Hardening playbook contributions. AMENDED update-subsystem-canonical-docs.py executor (Stream B) — --release-plan-uid is now optional; brief-based releases (post-v1.21.0 pattern) can use the executor by passing only --release-entry-uid; the executor reads capabilities_touched + hub_summaries from the release entry directly. Legacy plan-based path preserved (both coexist). Pipeline self-documents both release patterns at build time now.
e7842a1c
capabilities_touched
release_uid release_version summary registry_uid derived_from
bcdf390c
1.26.0
v1.26.0 ship — Memory Subsystem v2 → v3 playbook amendments. AMENDED [agent-retire.playbook v2.7 → v2.8 (e2c7d185)](../../.tropo/playbooks/agent-retire.playbook.md) — Step 1.1.5 now dispatches sa.memory-curator with trigger=retire (per-spawn ephemeral; suggest-don't-write; ratification-via-live-channel) rather than retiring agent doing in-line compaction. v1.24.0's v2.7 was the tactical fix (executive compacts); v1.26.0 v2.8 is the architectural fix (curator owns it async + composes with score formula + verification-before-use). AMENDED [agent-activation.playbook v2.8 → v2.9 (99341618)](../../.tropo/playbooks/agent-activation.playbook.md) — Step 2.5 now dispatches sa.memory-curator with trigger=boot (additive fold + verification-before-use). Both playbooks compose with new memory.capsule + sa.memory-curator + score formula doctrine — curator is the canonical memory-fold mechanism going forward.
d9c7a32f
capabilities_touched
release_uid release_version summary registry_uid derived_from
4920ce3a
1.20.0
v1.20.0 ship — boot-chain reshape. agent-activation.playbook v2.4 → v2.5: Group 0 Steps 0.1/0.2/0.3 updated to read from converged substrate via UID resolution (kernel pointer + canonical vault substrate two-file pattern at tiers 1 + 2; tier 3 fully migrated per agent in Stream B). Backward-compatibility fallback preserved for legacy paths during cycle. ADR-032 (three-tier boot configuration model) revised in-cycle.
pending
capabilities_touched
release_uid release_version summary registry_uid derived_from
f6d7719f
1.19.0
v1.19.0 ship — Studio-root behavior-primitive migration. 7 Studio-root playbooks migrated from playbooks/*.md to vault/files/<uid>.md with canonical member_of edges: build-release (9d58acc8) / chief-of-staff-operational-health (56af4a40) / import-to-ledger (d8a14c7b) / post-incident-review (72a2bae5) / vault-maintenance (a4f2e819) / vault-pruning (2e0e56a1) / welcome (e98420c3). fleet-ops.playbook excluded per Tier 2 boot-load-bearing rule. Cross-reference sweep updated 45 files / 91 substitutions including Tier 2 boot extension vault-maintenance.playbook reference. playbooks/ folder reduced to fleet-ops + AGENTS.md.
pending
capabilities_touched
release_uid release_version summary registry_uid derived_from
d6e7f8a9
1.13.0
v1.13 ships publish-pipeline (e2f4a8c1) as governed playbook-class substrate. Root entry transitions status: draft → active per dev-pipeline precedent (root activates; stages + steps stay at draft per pipeline.capsule v2.4 state machine). The pipeline becomes operationally invokable for first run (Mike-driven, post-ship). Mirrors dev-pipeline architectural pattern at the per-piece scale that publishing operates on. publish-pipeline joins dev-pipeline as the second governed pipeline-class playbook in Tropo Studios; tropo-playbooks subsystem now carries TWO operational pipeline primitives.
6969e3a1
capabilities_touched
release_uid release_version summary registry_uid derived_from
f7c4e3a8
1.9.2
v1.9.2 ship: NEW dev-pipeline step `update-subsystem-canonical-docs` (WorkflowNode UID 9d4f7e21) inserted in build stage between author-arch-spec-artifacts (24f16afc) and the deploy-stage transition. Auto-fires Rule 12 hub release_history derivation per release.capsule v3.4 — closes the three-cycle manual-substitute pattern (v1.8 + v1.9.0 + v1.9.1 each ran a hand-written `append-v1-X-hub-rows.py` script). Build stage now 2-step linear chain (24f16afc → 9d4f7e21); pipeline grows from 8 to 9 visible leaf steps. Executor module at `.tropo/scripts/dev-pipeline/update-subsystem-canonical-docs.py` is permanent substrate (not per-cycle scaffold). Round 2 fold added idempotency guards on hub + registry writes + silent-filter audit trail; Round 3 sweep closed UID-confusion residuals.
e92ee61d
capabilities_touched
release_uid release_version summary registry_uid derived_from
f604209d
1.9.1
v1.9.1 ship: activation playbook v2.3 path references swept .tropo-vault/ → .tropo-studio/; concierge .tropo/concierge/activate.md path references + STUDIO.md cross-refs (10) updated. Boot-contract surface verified PASS clean by sa.cold-boot 141 (Q3 walk-through ✓ Q4 concierge ✓).
459ae0d2
capabilities_touched
release_uid release_version summary registry_uid derived_from
1b4bb15a
1.9.0
Boot-path script-name fixes in playbooks (rebuild-ledger.ts → .tropo/scripts/rebuild-vault.py): grooming.playbook, run-release-test-plan.playbook, evaluate-tropo.playbook. Hub promoted to ship.
1b4bb15a
capabilities_touched
release_uid release_version summary registry_uid derived_from
e8a7c4d2
1.6.0
v1.4 → v1.6 catch-up. v1.4.2 test-harness suite NEW; v1.4.4 + v1.5 concierge-paths additions; dispatch-walker v0.3 spawn-blocklist gap (closed v1.7 Stream C1); playbook.capsule v2.0 → v2.4 evolution (Workshop signage + Test-Harness in-capsule subtype + field-vs-shape graduation-threshold + §Pending Sub-Requirements pattern + Validation Checks 20+21 + pattern_exemplar:d0c00001). Most stale subsystem hub by cycle count: 6 cycles unreflected pre-v1.7.
88d9bec6
manual_authoring
release_uid release_version summary registry_uid streams_touched derived_from
a676a5f2
1.7.0
v1.7 ship: NEW groom-subsystem-hub.skill (a01e15ef); NEW dispatch-sa-step.skill (1a308e85) — first-instance scaffolding for the pipeline-step-with-sa.* verifier pattern (formalized at v1.10 Enforcement). dispatch-walker.playbook v0.3 → v0.3.1 (§Scope clarification, Stream C1 closure). Playbook Spec v1.0 (77d14e53) cascading supersession close to v2.2 (e6d373bc); v1.0 archived with bidirectional pair complete (Stream B6).
f0d905ca
A
B
C
manual_authoring
release_uid release_version summary registry_uid streams_touched derived_from
14e5f79c
1.8.0
v1.8 ship: 44 playbook-class primitives backfilled with member_of:[76bab75f] including all .tropo/playbooks/ + playbooks/ files + procedural capsules (action.capsule + how-to.capsule + playbook.capsule) + playbook orchestration skills + how-to-write-a-playbook retagged from Library placeholder per per-doc judgment.
9f2b6085
A
B
E
F
K
capabilities_touched

Tropo Playbooks

📍 Vault Path: tropo-subsystemsTropo Playbooks

🌳 Tropo-Nav Path (VS Code): ../../00-tropo-nav/00-tropo-active/tropo-subsystems/Tropo Playbooks/76bab75f — Tropo Playbooks.md

🌳 Tropo-Nav Path (chat): argo-os/00-tropo-nav/00-tropo-active/tropo-subsystems/Tropo Playbooks/76bab75f — Tropo Playbooks.md

🔗 This file — UID 76bab75f · type project · state active · status evergreen

↓ Children (25):

↔ Siblings (10):

📥 Cited by (35):

Relations

Relation Target
Aligned with subsystem-hub (8a4e21c5)
Member of tropo-subsystems (aae9a37b)

Evergreen subsystem hub. Child of tropo-subsystems root (aae9a37b). Never closes. Renamed from "Tropo Playbook System (TPS)" in v1.3 per capability matrix v1.0 OD2-F. UID preserved. v1.3 additions include: playbook.capsule v2.0 (UID-preserving supersession of framework placeholder); pipeline.capsule v1.0 as playbook subtype; concierge-paths 5-outcome library; create-executive-agent skill.

What This Subsystem Covers

Structured per subsystem-hub.capsule v1.6 §1 (In scope + Not in scope + Edge cases). Earlier free-form prose ("Playbook Spec v2.x, executor, compensation, run folder, marketplace, bindings layer") preserved as the originating thesis.

In scope

Not in scope

  • Capsule schema authority + ADRs + validator definitions. Tropo Governance owns the capsule library at large + ADRs + Operating Principles + validator rule shape. The exception is playbook-class capsules themselves (playbook / pipeline / pipeline-run / publish.pipeline / action / how-to) which live in this hub's scope as the typed primitives for the playbook substrate class. Cross-subsystem composition with Governance is sanctioned.
  • Build-release execution + dist/ assembly. Tropo Capabilities owns the build-release execution lane (ship gating, working-copy generation, style-extraction-at-import operational concerns, dist/ assembly). Playbooks owns the build-release.py script as substrate primitive; Capabilities owns the runtime composition.
  • Subsystem hub bodies + their narrative scopes. Each of the 7 subsystem hubs governs its own subsystem-shape content; Playbooks authors the subsystem-hub.capsule-conformant structure (via groom-subsystem-hub.skill) but does not own those hubs' bodies.
  • Agent identity substrate. Charters, soul letters, transfers, status cards, activation files, memory entries — all owned by each agent under Tropo Agents. Playbooks authored agent-activation.playbook + agent-retire.playbook + agent-configurator + create-executive-agent.skill; the instances of agent identity belong to the agents.
  • Verification instrument agents. sa.cold-boot, sa.skeptic, sa.research, sa.arch-specs, sa.memory-curator, sa.hub-groomer — these are session-agents owned under Tropo Agents. Playbooks owns the dispatch playbooks + skills that invoke them; the agents themselves are not Playbooks-class.
  • Canonical narrative documentation prose. README, KB articles, KGAE prose, website surface copy, Captain's Log narrative — all belong to Tropo Documentation. Playbooks authored the doc-pipeline + voice-review.skill that enforce canonical-doc updates; the prose itself ships under Tropo Documentation.
  • Per-cycle release execution artifacts. Briefs, specs, release plans, activation roots, release entries — owned by Talos/Argus per cycle under Tropo Capabilities (release-artifact construction). Playbooks defines the schema + executor scripts; cycle authoring lives outside this subsystem.
  • The website + render routes. app/(web)/, KB-render routes at /kb/<uid>, the publish.pipeline content — owned by Tropo Rendering / Tropo Library. Playbooks authored publish.pipeline.capsule + the runtime; the rendered output belongs elsewhere.

Edge cases (multi-parent / borderline)

  • Hello Tropo #01 tutorial (60b5c975) — type:playbook (concierge subtype) but functions as Tropo Documentation tutorial content. Lives in Playbooks because the primitive is a playbook; composes with Tropo Documentation for narrative-content concerns (voice + canonical-content-doctrine + tutorial pedagogy).
  • voice-review.skill (811856a5) — substrate-class skill but content-doctrine-class purpose. Owned here as reflex layer; composes with Tropo Documentation (where the voice + canonical-content rules live as doctrine).
  • publish.pipeline.capsule v1.3 (7e3a91c8) — typed primitive for Metis's publish lane. Lives here as pipeline-class substrate; composes with Tropo Documentation (publish content) + Tropo Rendering (rendered output).
  • update-subsystem-canonical-docs.py executor (.tropo/scripts/dev-pipeline/) — dev-pipeline executor (lives here as substrate primitive) that writes into Tropo Governance scope (subsystem hub Change Logs + subsystem-registry.jsonl). Cross-subsystem composition: Playbooks owns the executor; Governance owns the target substrate the executor updates.
  • Boot-chain playbooks (agent-activation.playbook v2.9 + agent-retire.playbook v2.8) — playbook-class substrate (lives here) that operates on Tropo Agents identity substrate (charters / memory / status cards). Schema + execution flow are Playbooks; the substrate operated upon belongs to Tropo Agents.

How Tasks Flow

Tasks created in this subsystem represent decisions and work for Tropo Playbooks. When a task is ready to build, add the current release UID to its member_of: array — one pointer, no extra work. The task appears on both the Playbooks board (full history) and the release Drop board (current cycle).


Current State

(NEW v1.3 REQUIRED section; populated as v1.7 Stream B4 catch-up.)

As of v1.6 ship (2026-05-05), Tropo Playbooks has accumulated the most substantial discipline evolution of any meta-capsule across vault historyplaybook.capsule has progressed from v2.0 (Stream 1 ship at v1.3) through v2.1 (additive amendments) → v2.2 (Workshop signage at v1.4) → v2.3 (parallelism declarations) → v2.4 (Test-Harness in-capsule subtype + field-vs-shape graduation-threshold disambiguation + §Pending Sub-Requirements pattern + Validation Checks 20+21 + pattern_exemplar: d0c00001 declaration) at v1.4.2. The playbook fleet is governed by the canonical Playbook Specification v2.2 (e6d373bc) (v1.0 77d14e53 cascading-superseded + archived in v1.7 Stream B6). The release-test-plan v2.0.1 (f4a8c2d6) gauntlet is operational: 4-stage paired-mode (walker / cold-boot strict / cold-boot skeptic / validate). Two dispatcher playbooks govern sa.* dispatch: dispatch-walker.playbook v0.3.1 (sa.first-use-walker; v1.7 §Scope clarification) and dispatch-cold-boot.playbook v0.2 (sa.cold-boot + sa.user-error-walker paired mode). Concierge-paths library at .tropo/playbooks/concierge-paths/ expanded across v1.4.4 + v1.5. v1.7 introduces groom-subsystem-hub.skill + dispatch-sa-step.skill — first-instance scaffolding for the pipeline-step-with-sa.* verifier pattern. Open: run-release-test-plan.playbook (Sprint 4 task 4c8f6d2a) orchestrator pending; until then, dispatch-walker + dispatch-cold-boot are invoked directly as transitional valid mode.

v1.12.1 reflection (2026-05-08): Three pre-existing YAML-malformed playbooks fixed in v1.12.1 Stream D (playbooks/fleet-ops.playbook.md mapping value error line 25; .tropo/playbooks/agent-retire.playbook.md block-collection error line 18; .tropo/playbooks/apply-update.playbook.md block-collection error line 17). All parse cleanly under yaml.safe_load. Plus active-substrate vocab sweep cleaned 5 playbooks of deprecated 'starter' vocabulary (concierge welcome.playbook + concierge evaluate-tropo.playbook + grooming.playbook + dispatch-cold-boot.playbook + run-release-test-plan.playbook). Substrate currency at v1.12.1.

v1.13 → v1.27 pipeline-class substrate matured. v1.13 publish-pipeline (e2f4a8c1) ships as governed playbook-class substrate; second operational pipeline alongside dev-pipeline. v1.19 7 Studio-root playbooks migrated to vault/files/.md with canonical member_of edges (build-release / chief-of-staff-operational-health / import-to-ledger / post-incident-review / vault-maintenance / vault-pruning / welcome); fleet-ops.playbook excluded per Tier 2 boot-load-bearing rule. v1.20 boot-chain reshape — agent-activation.playbook v2.4 → v2.5 reads from converged substrate via UID resolution (kernel pointer + canonical vault substrate two-file pattern); ADR-032 three-tier boot configuration model revised in-cycle. v1.26 sa.memory-curator dispatch added at agent-retire.playbook v2.8 + agent-activation.playbook v2.9 — curator is the canonical memory-fold mechanism (architectural fix; v1.24 v2.7 was the tactical fix). v1.27 update-subsystem-canonical-docs.py executor extended for brief-based releases (post-v1.21.0 pattern); both plan-based + brief-based paths coexist.

v1.28 → v1.37 substrate hygiene + script proliferation. v1.28 import-primitive Tier 1 ships 5 new scripts (office_styles.py shared library + import-walker.py amendments + tropo-register-template.py + tropo-export.py + tropo-backfill-styles.py); reconcile-imports.playbook v1.2 with template-binary-drift + folder-mirror-orphan-state + UID-duplication SANCTIONED EXCEPTION. v1.29 substrate hygiene — fix-duplicate-yaml-keys.py + shared _yaml_dup_lib.py close v1.12 carry-forward defect class (251 files merged; canonical block-style member_of: lists across substrate). v1.30 Studio-tier rebuild single-gesture — rebuild-vault.py [1/5] tropo-validate.py pre-step + [2/5] rebuild-index.py with --skip-rehydrate composition fix; build-release.py Step 0c pre-flight ship-gate. v1.31 docx_styles_bundle.py NEW (~390 lines) + tropo-export.py P2 path proper. v1.32 sa.skeptic-009 P1 small-fix bundle (4 script amendments; BOM-aware regex absorbed inline per A64 rotate-the-gauntlet-lens). v1.33 Cold-Boot Test Harness — tropo-test.py NEW (~270 lines stdlib-only) as npm test UX wrapper; 2 new validator categories (check_uid_cross_references FAIL + check_version_consistency WARN); package.json with canonical npm test substrate-health gesture. v1.34 sa.memory-curator dispatched twice (exercise without architecture). v1.35 Hello Tropo first-encounter — pipeline-activate.py + cascade-stress-compare.py + tropo-recycle.py NEW; Welcome Playbook v1.0 → v1.1; pipeline.capsule v2.5 → v2.6 (cascade_spec + role:workstream); project-plan.capsule v1.3 → v1.4 (derived_from accepts design-brief OR pipeline-template UIDs). v1.36 Hello Tropo #01 tutorial (60b5c975) v0.2 — first concierge-playbook tutorial; 6 phases; Welcome Playbook v1.1 → v1.2 with one-line route-in at Phase 3 END; canonical-content-doctrine pin authored mid-cycle. v1.37 charter.capsule v1.0.1 lands (charter-bearing agents governance); playbook-class touches absorbing the new capsule shape.

v1.46 Studio Manifesto + governance-contract sweep. Studio Manifesto v1.0 authored at Studio-tier; ~13 governance-contract instances at vault/files/.md replace the legacy per-folder .tropo-studio/CAPSULE.md pattern. agent-activation.playbook + agent-retire.playbook touches absorb the v1.46 charter conformance baseline.

v1.49 publish.pipeline class operational. publish.pipeline class ships as second governed playbook-class typed primitive after dev-pipeline; KGAE goes live on tropo-ai.com as first production output. The publish lane that Metis operates is now governed substrate, not informal practice.

*v1.51 Three-Pipeline Substrate-Enforcement Architecture + -spec trio. pipeline.capsule v3.0 + pipeline-run.capsule v2.0 land: per-step rich schema with triggered_*_activation_uids fields + runtime enforcement layer at pipeline-runtime.py (currently fires for dev-pipeline; doc-pipeline + test-pipeline runtime integration is v1.53 engineering scope). Three production pipelines now compose: dev-pipeline (cd1fcd25) produces dev-spec → triggers doc-spec (under doc-pipeline) + test-spec (under test-pipeline); coupling at dev-pipeline ship-gate. The *-spec trio (dev-spec c3f68cb5 + doc-spec 9a7d314a + test-spec 621824df) is the substrate vehicle for substrate-enforcement-by-coupling.

v1.52 doc-pipeline v1.0 launched. doc-pipeline (5a4337ff) authored under Orpheus O11 captain-mode: 3 stages + 6 steps + voice-review.skill (811856a5). Mirrors test-pipeline (da3f50dc) precedent. First production run against v1.52 doc-spec (461b3896 activation, closed retired) caught 2 substrate-honesty defects at first gate — both resolved via A82 surgical fix-on-see. Voice review reframed as intent + goal not hard-coded rule per Mike-O11 walk lock; three-layer skill carries guidelines, not gates. Substrate-verify-twice defect class (5 instances captured at first production run) bundled into v1.53 engineering candidates.

v1.53 cycle (in flight). Lane D Pristine Subsystem Documentation under Captain's Briefing v3.0. subsystem-hub.capsule v1.6 amendment (Argus A81 captain-mode) strengthens §1 to require In scope + Not in scope + Edge cases enumeration. This hub refresh (orpheus-o11) brings Tropo Playbooks §1 to v1.6 shape + Current State currency through v1.52.

v1.54 Engine-Discipline Hardening Triad (in flight; doc-pipeline activation cebf071d). Pipeline-class substrate hardens at the engine layer. Lane B amends pipeline-runtime.py _auto_bootstrap_triggered_pipeline to auto-heal when an active activation discovers its def has been amended (closes A83 v1.53 ship-time bootstrap gap; activation reconciles to amended def without manual intervention). NEW .tropo/scripts/lib/ regression test fixture validates the auto-heal behavior (B2 NEW per dev-spec 137ac7e1). Lane V V1 check_canonical_reference_shape() validator extension to tropo-validate.py walks substrate-wide for canonical-primitive reference drift (catches the v1.52 first-production-cycle defect class at agent-author time; substrate-wide scope per Argus A83 ratification of O11 substrate-verify-twice brief (83af4ac1) Layer 2). Lane R R2 amends validate-capability-membership.py R12 derivation per release.capsule v3.7 Rule 14 (kernel substrate paths + type:pipeline capabilities). All three scripts get inline docstring spec-tier coverage. Substrate currency marker: through v1.54.

v1.55 Messaging Foundation (in flight; Block 5 cycle 1 of 5; doc-pipeline activation 66739384). Three new tools land at vault/tools/<uid>.py per tool.capsule v1.6 (d5e1b4a3) §2.5 Canonical File Layout single-file-truth pattern — these are the FIRST instances of the v1.6 pattern, proving the shape before v1.56's bulk migration of ~37-42 sidecar entries: emit-event (vault/tools/ca90f098.py) canonical event emission primitive (fcntl-lock + JSONL append + SQLite WAL dual-write); rebuild-events-sqlite (vault/tools/4d20a322.py) recovery primitive regenerating SQLite from canonical JSONL; query-events (vault/tools/1545ac97.py) thin CLI SQL wrapper so agents query without SQL knowledge. All three composed with events.capsule v1.1 (72ef5ffe) via governed_by: frontmatter. Lane B + Lane V engine substrate (pipeline-runtime + validator) extensions defer to v1.55-Talos T10 lane per dev-spec 340568fa Streams A.3-A.8. Substrate currency marker: through v1.55.

v1.56 Tools-in-Vault Pillar 1 (SHIPPED 2026-05-27 by Vela V54; Block 5 cycle 2 of 5; pristine streak 62 → 63; doc-pipeline activation e695913e). The v1.55 three-tool first-instances scale to a substantive pattern: 39 total tool files now live at vault/tools/<uid>.py per tool.capsule v1.6 §2.5 single-file-truth. Lane M migrated 22 pre-v1.6 sidecar entries (vault/files/<uid>.md + .tropo/scripts/<name>.py pairs collapsed to single-file at vault/tools/<uid>.py); Lane R registered 14 previously-unregistered scripts as proper tool entries; Lane E extended rebuild-vault.py + rebuild-index.py to walk vault/tools/ + parse Python docstring YAML, and added tool_validators.py with 14 new checks per capsule §5; Lane S maintained dual-resolution per R6 chicken-egg mitigation (50 active .tropo/scripts/ capsule refs folded to v1.57 per Path 2 dd6e7964); Lane X retired release.capsule v3.7 → v3.8 (b19e8d43) Rule 14 + Validation Check 26 (path-pattern-table compensation for tools-not-being-graph-citizens no longer load-bearing once tools have proper member_of: citizenship at canonical vault location). The tool.capsule v1.6 §2.5 worked-example documentation (7d24e7a1) authored by Orpheus O12 in v1.56 doc-pipeline is the load-bearing Tier 3 pattern-exemplar deliverable; sibling Pillar 1 cycles (v1.57 how-tos / v1.58 session-agents / v1.59 actions) inherit this pattern as canonical authority. v1.60 amendment 2026-05-29 (Argus A87 captain-mode per Mike-A87 walk lock; Lane H-retire per Path 2 f8a3c1b9): the v1.56-era forward-projection (v1.57=how-tos / v1.58=session-agents / v1.59=actions) was empirically falsified — actual cycles shipped v1.57=Stream B Projection Renderer + v1.58=Messaging Arc Operational Completeness + v1.59=Structural-Discipline; how-tos never landed. v1.60 substrate-honestly retires how-tos primitive (zero entries authored across 18 months; earn-the-abstraction-strict). Pillar 1 reduces from 4 callable surfaces to 3 callable surfaces (tool + session-agent + action). how-to.capsule (a7c3f489) status:retired at v1.60. Sibling cycles inheritance at v1.60 Pillar 1 Completion: session-agents migrate to vault/session-agents/ + 10 actions migrated to vault/actions/ per v1.56 single-file-truth pattern. All 39 tool entries member_of: Tropo Governance per the v1.56 substrate state-of-record; dedicated Tools subsystem hub deferred to a future cycle when callable-surface substrate consolidates. Substrate currency marker: through v1.56; v1.60 amendment propagates Pillar 1 substrate-honest correction.

v1.57 Stream B Projection Renderer (SHIPPED 2026-05-27 by Vela V54; Block 5 cycle 3 of 6; pristine streak 63 → 64; doc-pipeline activation 4ac35a3a). First playbook-class substrate landing of v1.57 is channel-projection-migration.skill v1.1 (5d7b1f48) at .tropo/skills/ — the per-channel migration discipline how-to (Argus lane B.6 per dev-spec 5b2e8c41). Three paths operationalized: archive-and-fresh-start (default for v1.57 first 3 channels) + optional backfill-active-threads + rollback. Agent posting decision protocol codified: rendered_from_events:true → emit-event via vault/tools/ca90f098.py; absent or false → Edit per legacy. Skill is the canonical migration reference Stream D progressive cycles (v1.58-v1.61) inherit when migrating remaining channels (ops.md + alerts.md + other bilaterals + agent-directors). Composes with tool.capsule v1.6 (d5e1b4a3) (the renderer engine 71b0a4d8 authored per single-file pattern landing at Tropo Rendering) + channels/CAPSULE.md v1.5 (channels-CAPSULE) (governance amendment landing at Tropo Governance). Substrate currency marker: through v1.57.

v1.58 Messaging Arc Operational Completeness (in flight; Block 5 cycle 4 of 7; doc-pipeline activation 0aeb121a). Playbook-class landings at v1.58: Tier 2 boot extension §Continuous-Listen Polling Protocol section (per L.1; Tier 2 canonical at cf8c3be9 v2.1) codifies the pin-a85-008 doctrine as executive-class default. Polling curve: 1m×5 → 5m×6 → 20m×3 → 1h ambient. Trigger conditions: agent emits OR receives a reply_required:true event. Cooldown: no outstanding triggers → ambient floor. Per-class cadence opt-out via Tier 3 continuous_listen: field declaration. 7 per-agent Tier 3 cadence declarations land per L.2a-L.2g (executive-class-full-curve for 6 executives; concierge-class-skip-tight-loop for Po). Harness trigger-detection (L.3; Talos lane at .tropo/scripts/lib/trigger_detection.py or equivalent) auto-fires ScheduleWakeup at curve cadence; may defer impl to v1.58.1 per dev-spec R1 with manual ScheduleWakeup fallback documented. Substrate currency marker: through v1.58.

v1.59 Structural-Discipline Amendment Cycle (in flight; Block 5 cycle 5 of 7; doc-pipeline activation 213076c5; ship-gate window READY-TO-FIRE per Argus event 00000154). Playbook-class landings at v1.59. Lane C R1 — agent-activation.playbook v2.12 → v2.13 transfer-freshness amendment. Group 4 Step 4.1.5 extended: when inbound transfer carries status: stub OR authored_under: remediation, the booting agent MUST walk each triggering-cycle's dev-spec committed_substrate items against current vault state before scoping session work + post a verified state-board to ops.md OR chat-with-principal before Group 5 startup signal. Closes the A87 boot near-miss class (stm-a87-001) structurally — stub/remediation transfers no longer pass at Group 5 without substrate-verification gate. Lane C V7 + cf8c3be9 Tier 2 v2.1 → v2.2 §check-events doctrine — Tier 2 boot extension acquires §check-events section codifying the post-activation events.jsonl tail-check protocol (agents tail event log for tropo.message.sent events addressed to their party-UID after every poll-cycle wake). Lane D V5 vault-ops-pipeline v1.0 → v1.1 (Vela lane; vault-ops-as-playbook gets pipeline-class graduation; v1_1_amendment_note + plan-vault-ops pin against raw shell archival). Composes with v1.55 events foundation + v1.58 §Continuous-Listen Polling Protocol — the playbook-class operational discipline now matches the substrate-class discipline. Substrate currency marker: through v1.59.

v1.60 Pillar 1 Closes at Three Surfaces (SHIPPED 2026-05-29 by Vela V55; Block 5 cycle 6 of 7; pristine streak 67; doc-pipeline activation c94663a9). Playbook-class landings at v1.60. how-to.capsule (a7c3f489) retires (status:retired) — the how-tos primitive was an instruction-class surface overlapping with playbooks, capsules, and pipelines; Mike-A87's earn-the-abstraction-strict walk retired it (zero entries authored in the 18 months since its v1.0 lock; how-to.history preserved). 10 actions migrate from .tropo/actions/<name>.action.md to single-file vault/actions/<uid>.{md|json} per the v1.56 single-file-truth pattern; action.capsule bumps to v1.2 with the Canonical File Layout subsection + action_validators.py, and pipeline-runtime invocation-path resolution updates so actions resolve at their new vault location. Substrate currency marker: through v1.60.

v1.61 Messaging-Substrate Completion + Po Executive Identity + Fleet-Ops Trigger-Wire (SHIPPED 2026-05-29 by Vela V55; Block 5 cycle 7 of 7 — CLOSES BLOCK 5; pristine streak 68; doc-pipeline activation 69e1341c). Playbook-class landing at v1.61: the Tier 2 §Fleet-Ops Schedule Protocol (cf8c3be9 v2.5). Fleet-ops gains an auto-trigger wire — a cron-equivalent or cycle-driven cadence that fires the daily fleet pass without waiting for an executive to remember it — closing the perennial fleet-ops-runs-only-when-someone-boots gap. Composes with the v1.58 continuous-listen polling protocol: continuous-listen handles reply-required message latency; the Fleet-Ops schedule handles time- and cycle-driven operational cadence. Substrate currency marker: through v1.61.

Substrate currency marker: through v1.61, refreshed 2026-05-31 by orpheus-o13.


Change Log

v1.36.0 — 2026-05-17 — Hello Tropo Tutorial Series: 2026 Customer Event Plan — tutorial playbook + Welcome amendment SHIPPED

Release entry: a4c8d691 | Brief: 8dd292e3 v0.3 LOCKED | Spec: 079052d9 v0.2 LOCKED | Release plan: 1f0b25a8 v0.3 LOCKED | Activation root: ea449069 | Activations: argus-a68 (substrate + R1+R2+R3 + 3 stream implementation) + argus-a69 (R4 + R5 + ship artifacts) | Captain's Read: a5f4b26b Block 2 funnel arc cycle 3 of 3 — CLOSES Block 2

  • NEW vault/files/60b5c975.md Hello Tropo #01 — 2026 Customer Event Plan tutorial v0.2 — first tutorial in the Hello Tropo series. Concierge playbook (type: playbook) in Tropo T1's curious-curator register. 6 phases: Phase 0 (Welcome + Definitions; brief-in-context primitives + 4 canonical KB links per Rule B canonical-content-doctrine) / Phase 1 (Frame your project) / Phase 2 (Design your shape — workstreams) / Phase 3 (Tropo creates your project structure — cascade) / Phase 4 (Walk your substrate — board + plan + sub-projects) / Phase 5 (Start working — first tasks). ~30 min reader effort; ~600 lines substantive content. Substitution prompts at Phases 1, 2, 3, 5 — Hello Tropo's reference values anchor; user produces their own. User ends the tutorial with a real activated project — their event, their workstreams, their first 2-3 tasks — not a copy of Hello Tropo. Voice contract holds across all 6 phases (R3 + R4 verified). Phase 3 amendment from R4 absorption: explicit pipeline-work-item authoring step before activation ("First, I'll convert your Phase 2 design — your workstream list and owners — into a pipeline work-item. Then I activate it."). Phase 4 amendment from R4 absorption: explicit nav-rebuild moment ("I'll rebuild the nav so your new project surfaces in 00-tropo-nav/00-tropo-active/"). Phase 0 link list trimmed 6 → 4 at R4 absorption per B2B founder persona report. Phase 3 voice polish: "work-items" instead of "substrate" in user-facing "lot of X to create by hand" sentence.

  • AMENDED vault/files/e98420c3.md Welcome Playbook v1.1 → v1.2 — Phase 3 prose rename ("industry conference" → "customer event") composes with Stream B substrate rename. One-line route-in at Phase 3 END (LOCKED over Phase 4 entry per Blocking Decision 3) routes the user into the Hello Tropo #01 tutorial for the "build new from scratch" path. Backward-compatible; placeholder grep zero (tutorial UID 60b5c975 resolved at minting; no <TUTORIAL-UID> leaks).

  • NEW vault/files/ea449069.md v1.36.0 cycle activation-root project — authored 2026-05-17 by argus-a69 as R5 P0 absorption; dev-pipeline cycle activation-root (type:project; member_of cd1fcd25 dev-pipeline). 8 cycle artifacts cited ea449069 as activation_root + member_of but no vault entry existed; R5's graph-walk-against-the-vault-index lens was the only round positioned to find it. Authored in-cycle per fix-on-see. Graph-walk integrity restored.

  • Canonical-content-doctrine binding (NEW pin) — Mike-A68 verbatim 2026-05-17 "One source of truth for documentation. Documentation is a core subsystem of any good platform." Codified in spec §3.2 as Rule B: tutorials + playbooks + Substack drafts + website copy all REFERENCE existing canonical KB articles in tropo-subsystems hubs; never duplicate canonical content. Memory pin authored at Argus STM. Future-cycle candidate: formal Operating Principle amendment at Studio tier (.tropo-studio/operating-principles.md).

  • NEW Path 2 inbox notes filed at shipd3a8e21c scripts/tropo-validate.ts stale ledger/ path (Talos lane; one-line fix); f7e1b094 render-chain-progress-board.skill 135be96d block-closing variant amendment (future-cycle per skeptic framing).

  • 5 sa. gauntlet dispatches across 5 distinct R-round positions* — R1 substrate cold-boot review (sa.skeptic-090 + sa.cold-boot-193) + R2 architectural-contract conformance (sa.skeptic-091) + R3 5 content-cycle lenses (sa.skeptic-092: prose-coherence + teach-as-you-go-lands + substitution-prompts-work + no-infrastructure-leak + no-canonical-duplication) + R4 cold-boot synthetic-persona (sa.cold-boot-194; STRUCTURED-SIMULATION mode locked by Mike-A69 over literal cascade-fire; B2B founder persona LOCKED per spec §5 Blocking Decision 1) + R5 ship-time consolidated cross-cut (sa.skeptic-093). A64's rotate-the-gauntlet-lens pin VALIDATED A SEVENTH CONSECUTIVE CYCLE. A65's fix-on-see; no hand-offs pin VALIDATED A SIXTH CONSECUTIVE CYCLE. A68's canonical-content-doctrine pin VALIDATED FIRST CYCLE.

  • Substrate state at ship: validator 33 PASSED / 0 FAILED / 90 warnings (zero new failure or warning CLASSES); npm test YELLOW exit 1 (ship-clear); UID cross-references PASS on 1967+ entries; pristine-no-Rule-7 streak 42 → 43. Vela-test-plan b7e58fc2 at ship per Mike-A63 release-step pin.

v1.35.0 — 2026-05-16 — Hello Tropo: First-Encounter Example Surfaces — script + playbook contributions SHIPPED

Release entry: 9743fa03 | Brief: a3b27d91 v0.5.1 LOCKED | Spec: d2f8c194 v0.4 LOCKED | Activations: argus-a67 (substrate + R1-R2B) + argus-a68 (R3 → R3.5 → R4 → R5 → ship) | Captain's Read: a5f4b26b Block 2 funnel arc cycle 2 of 3 — first user-visible cycle

  • NEW .tropo/scripts/pipeline-activate.py — cascade-from-activation runtime. Mints UIDs, opens master activation entry per activation.capsule v1.0.3 (new pipeline agent_class), authors activation-root-project per pipeline.capsule §Rule 10 v2.2, cascade-generates project plan per project-plan.capsule v1.4, recursively spawns workstream sub-activations + per-workstream auto-spawn tasks (date-keyed if cascade_spec.spawns_tasks present). Atomicity via rollback manifest. Owner/author parameterized to --activated-by entity (P1-5 absorption: previously hardcoded to script name + argus-a67; now resolves to whichever entity fired the cascade). Cycle detection seeded with root pipeline_uid (P1-3 absorption: previously had top-level blind spot for root self-spawn).
  • NEW .tropo/scripts/cascade-stress-compare.py — R3 lens script. Walks member_of tree from two activation-root UIDs; normalizes shape signature (capsule type counts, titles-by-type with date-token normalization, role/status/state distributions); strips instance-variable fields; PASS = structural-shape match. Defaults to cascade_only filter (created_by/author == pipeline-activate.py) to match spec §2.3 intent of comparing cascade OUTPUT not all post-cascade additions.
  • NEW .tropo/scripts/tropo-recycle.py — critical-incident remediation; canonical soft-delete gesture. mv vault/files/.md to recycle/agent-deletions/<YYYY-MM-DD>/<uid>.md with tab-separated recycle.log. Accepts UIDs as positional args or --stdin. Collision handling appends time suffix. Bans rm on vault/files/ as default discipline; reachable via .tropo/orientation.md 'Delete Things' row + STM pin for boot-time internalization. Root-caused incident: A67 session lost brief + spec to grep-driven xargs rm matching files describing the feature the grep keyword named.
  • AMENDED .tropo/scripts/rebuild-index.pyget_scalar quote-aware fix. Previous regex stripped #.* content unconditionally; titles like "Pre-event tease post #1 — announce attendance" truncated to "Pre-event tease post (leading quote + missing closer; broke board rendering). Now detects YAML-quoted strings + reads to matching closing quote; unquoted values still strip inline # comments. R4 cold-boot caught this; root cause was in BOTH rebuild-index.py + tropo-validate.py.
  • AMENDED .tropo/scripts/write-activation-entry.pyVALID_CLASSES set extended to include pipeline (consistency with activation.capsule v1.0.3 + tropo-validate.py's existing extension).
  • AMENDED vault/files/e98420c3.md Welcome Playbook v1.0 → v1.1 — Phase 3 amendment substantially complete. Opening line softened post-R5 to honest "active run in motion, Promotion mid-flight" framing (not the previous "completed run, all terminal states" which contradicted the 8 open auto-spawn tasks). Step 1 (board → dashboard). Step 2 (00-tropo-nav with today/tomorrow framing absorbed post-R4 P1 — "today you'll see Hello Tropo here as the only project; once you start your own work, your projects sit alongside it"). Step 3 (drill-down invitation enumerating all 6 workstreams as concrete anchors per Mike-A68 call to keep names). "What Hello Tropo demonstrates" bullet list honest about cascade in motion.
  • AMENDED .tropo/capsules/pipeline.capsule.md v2.5 → v2.6 — documents role: "workstream" example in §6.8 + schema-adds cascade_spec: for pipeline-template orchestration.
  • AMENDED .tropo/capsules/project-plan.capsule.md v1.3 → v1.4derived_from: extended to accept design-brief OR pipeline-template UIDs (Q25 amendment scope). Validation Check #3 rewritten (P0-1 absorption: previous Check #3 only accepted design-brief, contradicting the v1.4 amendment narrative).
  • Substrate state at ship: validator 32 PASSED / 0 FAILED / 83 warnings (zero new classes); npm test YELLOW exit 1 (ship-clear); R3 + R3.5 + R4 + R5 gauntlets all PASS (R3 cascade-runtime-stress dogfood-tested twice across A67 + A68 fires).

v1.34.0 — 2026-05-16 — Memory Subsystem Generational Fold — script contributions SHIPPED

Release plan: 29fa4334 | Brief: cc89ed9a v0.2 LOCK | Activation: fda84bbf (argus-a66) | Captain's Read: a5f4b26b Block 2 cycle 1 of 3 — OPENS Block 2

  • NO new scripts. NO amendments to existing scripts. Cycle EXERCISES existing scripts: .tropo/scripts/rebuild-vault.py executed twice (once after each curator dispatch + once after R3 absorption); .tropo/scripts/tropo-validate.py executed multiple times for substrate verification. No code changes to either.
  • NEW .tropo-studio/scripts/v1.34.0-r3-absorption-2026-05-16.py — R3 absorption audit-trail script. Applied 3 SCOPE-UP body sentence strips (9d3a5f62 + 5b8c2e94 + f7a4d186); 5 context-length truncations to ≤120 chars (1b4c7e29 + 8a6f3d51 + 3e9b6c25 + 7a4b6c91 + 5f8a1d63); 11 inter-pin relative link rewrites to canonical UID-form across 1b4c7e29 + 8a6f3d51 + a9d7c364. Per A65 feedback_save_reusable_scripts pin — archived for cycle audit trail.
  • 2 sa.memory-curator dispatches under captain-mode cross-agent fold authorization — Dispatch 1 (target=vela, scope=agent, trigger=explicit) ran routine deep grooming pass against V45's 55-entry substrate; Dispatch 2 (scope=vault, trigger=explicit) ran first-ever scope=vault dispatch absorbing 20 v2-shape pin files + 5 SCOPE-UP siblings + 1 DECOMPOSE split into 26 new vault-scope entries.
  • Substrate state at ship: validator 31 PASSED / 0 FAILED / 842 warnings (zero new classes from v1.34.0); npm test YELLOW exit 1 (ship-clear).

v1.33.0 — 2026-05-16 — Cold-Boot Test Harness — script contributions SHIPPED

Release plan: 4cdca37c | Arch-spec: f294f70b v0.5 LOCKED | Brief: 82ba8ebc | Activations: 35dea98b (argus-a65) + fda84bbf (argus-a66) | Captain's Read: a5f4b26b Block 1 cycle 5 of 5 — CLOSES Block 1

  • NEW .tropo/scripts/tropo-test.py v1.0.2 (~270 lines stdlib-only) — thin UX wrapper over tropo-validate.py via subprocess with absolute SCRIPT_DIR pattern matching rebuild-vault.py:155; passes --vault-path <studio_root> to validator subprocess (closes nested-Studio silent-wrong-verdict per R3 cold-boot-181 D1-1 absorption); three orthogonal mutually-compatible flags (--quick default + --json output shape + --verbose content); _ArgparseRemap subclass remaps argparse usage errors from default exit 2 to exit 6 (avoids RED collision per R3 cold-boot-181 D0-1 absorption); run_validator reclassifies validator returncode not in {0, 1} as script-error exit 5 (avoids silent-wrong-GREEN-verdict on fake/empty Studios per R3 RE-RUN cold-boot-182 D0-1 absorption); pure-enum JSON status fields with separate count integers; optional full_validator_output JSON field when --json --verbose composes; capability entry 3086287a.
  • AMENDED .tropo/scripts/tropo-validate.py — PyYAML import added at top (kernel-script dependency already used by validate-canonical-l0.py + validate-release-manifest.py + tropo-export.py + tropo-backfill-styles.py + validate-capability-membership.py). TWO NEW check categories wired into main(): check_uid_cross_references (FAIL severity; PyYAML safe_load + recursive _walk_for_uids(node, path_parts) AST walk; identity-class exclusions for tropo_agent_id + registry_uid + root-level uid; state:archived skip; Path.is_file() index-staleness distinguisher emits [INFO] for on-disk-but-not-indexed vs [FAIL] for genuinely missing) + check_version_consistency (WARN severity; type-guarded isinstance(member_of, list) dev-pipeline discriminator per R3 RE-RUN cold-boot-182 D1-NEW-2 absorption). Legacy check_cross_refs (member_of-only subset) REMOVED. Validator total transitions 30 → 32 check categories. main() updated to surface [INFO]/[WARN] findings under [PASS] header.
  • NEW argo-os/package.json (~15 lines) — name: tropo-os-studio, version: 1.33.0, private: true, no dependencies block; 4 scripts: test + test:json + test:verbose + vault:rebuild --apply. Canonical npm test substrate-health gesture.
  • NEW .gitignore entry at parent repo root: argo-os/node_modules/.
  • AMENDED .tropo/orientation.md Find Things table — NEW row Substrate health check (one-gesture) documenting both canonical npm test + direct python3 .tropo/scripts/tropo-test.py fallback gestures.
  • Substrate state at ship: validator 30 PASSED / 0 FAILED / 831 warnings (zero new warning classes; zero new failure classes); npm test YELLOW exit 1 (ship-clear); R3 RE-RUN + R5 ship-time gauntlets cleared. Pristine-no-Rule-7 streak: 39 → 40 cycles.

v1.32.0 — 2026-05-15 — sa.skeptic-009 P1 Small-Fix Bundle — script contributions SHIPPED

Release plan: a50f66eb | Arch-spec: 900d41e0 v0.5 LOCKED | Brief: c6969c7e | Activation: 35dea98b (argus-a65) | Captain's Read: a5f4b26b Block 1 cycle 4 of 5

  • AMENDED .tropo/scripts/tropo-export.py v1.0.1 → v1.0.3. TOOL_VERSION constant catches up v1.31.0 Stream D's missed bump while landing v1.32.0 amendments (Stream D shipped at v1.0.2 per release entry [a3f8e1b6] but the constant was not bumped — substrate-honesty surfaced by R3 cold-boot-175 D1-NEW-1; reconciled at v1.32.0 via direct '1.0.1' → '1.0.3' transition).
    • P1-1 closure_build_title_paragraph amended: when P1 path uses Title style AND Heading1 also exists in template AND both share font_family + font_size_half_pt + bold values → emit boolean fallback_stats['p1_heading_indistinguishable_from_title'] = True (parallel to P2 path's existing p2_heading_indistinguishable_from_title field; same shape; path-of-origin prefix). Title style still applied; title_fallback_reason stays None for Title-clean case (existing semantic preserved). Journal-only diagnostic. fallback_stats init dict gains p1_heading_indistinguishable_from_title: False default.
    • P1-2 closureupdate_working_copy_export_fields refactored: function returns status dict {fallback_fired, fallback_keys, frontmatter_malformed} (was no return); fence-finding bounded to leading frontmatter region via NEW _resolve_fm_block_end helper using BOM-aware regex \A?---\s*\n (v0.5 R3 production-failure absorption — Word/Notepad import path produces UTF-8 BOM'd working copies routinely); per-key insert/replace scope-bound to frontmatter (markdown HR --- in body cannot collide); third-path fallback insert before closing fence when neither schema_version pattern matches.
    • Caller in main() amended — captures return + emits NEW working_copy_frontmatter_malformed journal event when EITHER fallback_fired OR frontmatter_malformed is true; payload carries 7 disaggregated fields (working_copy_uid + fallback_fired + fallback_keys + frontmatter_malformed + timestamp + executive + run_uid); emission ordered BEFORE the existing export_generated event so log-replay aggregators see the malformed signal as a leading-edge warning.
  • AMENDED .tropo/scripts/tropo-backfill-styles.py v1.0.0 → v1.0.1. P1-3 closure: find_markers_without_mirrors skip_dirs narrowed from 12 entries to 7 (kernel + system trees only): {.tropo, .tropo-studio, vault, .git, archive, recycle, updates}. Folder markers placed under agents/<class>/<id>/work/<imported-folder>/, channels/<channel>/work/<imported-folder>/, playbooks/<playbook>/work/<imported-folder>/, or shared/<imported-folder>/ are now reachable by the backfill sweep.
  • AMENDED .tropo/scripts/tropo-register-template.py v1.0.0 → v1.0.1. P1-5 closure: _render_extracted_styles_body_table style_summary emits ; N more (no nested parens — cell content already inside parens) instead of bare ; list truncated when len(named) > 10. Quantitative count gives readers a sense of what was omitted.
  • AMENDED docx-template.capsule.md body convention: §Required Body Sections line <N> more when N > 10 instead of list truncated; v1.0.1 changelog row appended; capsule schema unchanged — v1.0 LOCKED status preserved (body convention non-schema).
  • Verified at ship: dry-run smoke test 46/46 real assertions PASS — covers all four P1 closures + 8 working-copy frontmatter shape variants (well-formed + malformed + HR-in-body + no-frontmatter + empty-frontmatter + idempotency replay + BOM-prefixed v0.5 absorption) + skip_dirs set membership (positive AND negative) + N more rendering at boundaries (0/10/11/14) + all three TOOL_VERSION values + capsule body+changelog. R5 ship-time cross-cut coherence verified PASS by sa.skeptic-074.
  • Pristine-no-Rule-7 streak: 38 → 39 cycles.

v1.31.0 — 2026-05-15 — P2 Styles-Bundle Proper — script contributions SHIPPED

Release plan: a9d3c1b6 | Arch-spec: c5e2f8a3 v0.7.4 LOCKED | Brief: b4d8a2f7 v0.7.4 | Activation: bc1520aa (argus-a64) | Captain's Read: a5f4b26b Block 1 cycle 3 of 5

  • NEW .tropo/scripts/docx_styles_bundle.py v1.0 (~390 lines; stdlib-only). Two public functions: build_styles_xml(original_styles: dict) -> str constructs minimal word/styles.xml OOXML WordprocessingML-conformant from the projection's original_styles: dict; write_styles_to_docx(docx_path: Path, original_styles: dict) -> None bundles styles + canonical [Content_Types].xml + canonical word/_rels/document.xml.rels into a .docx ZIP via rebuild-the-ZIP + atomic-rename pattern (stdlib zipfile can't overwrite in place). Defensive validation at module boundary: TypeError on non-dict input or dict-shape named_styles legacy; field-level skip semantics for invalid color/font_size/bold/id values (degrades gracefully rather than emitting malformed XML). Content-comparison idempotency (not presence-check) — closes the lazy-implementer no-op exploit caught at R1 RE-RUN-3. Normal paragraph style emitted with w:default="1" per ECMA-376 §17.7.4.17 — closes python-docx AttributeError on unstyled paragraphs (verified at R4 via sa.cold-boot-173 round-trip). w:styleId normalization strips whitespace + non-alphanumeric (except -_); <w:name> carries faithful original. ET-based XML construction only — binding MUST against f-string concatenation per spec §3.1.6 v0.6 hardening.
  • AMENDED .tropo/scripts/tropo-export.py v1.0.1 → v1.0.2 (Stream D). Three precise edits + user-encounter polish:
    • Edit 1: Lines 1006-1031 — the v1.28.0.1 raise SystemExit guard (comment block + multi-line error message + two recovery paths) is replaced with a single line export_path_type = 'preservation_p2'. The existing if export_path_type == 'preservation_p2': branch at line 1068 (stubbed-but-unreachable in v1.28.0.1) now fires.
    • Edit 2: _build_minimal_docx_from_scratch body amended — adds inline guard for missing original_styles (echoes projection_uid + names BOTH tropo-backfill-styles.py --projection <uid> AND import-walker.py create-sidecar <source-path> recovery gestures); lower-strip heading anti-collision detection landing in fallback_stats['p2_heading_indistinguishable_from_title']; canonical [Content_Types].xml per spec §3.1.1 (no Default Extension="xml" — closes the non-conformant conflict with styles Override); canonical word/_rels/document.xml.rels per spec §3.1.2; calls docx_styles_bundle.write_styles_to_docx as final step before return.
    • Edit 3: No exit-code allocation — exceptions propagate per existing tropo-export.py style.
    • User-encounter improvements (v0.7.3 + v0.7.4 R4 absorptions): parse_working_copy_body strips <!-- nav-block:start --> ... <!-- nav-block:end --> regions before tokenization (nav-block is vault-internal navigation chrome per OP-12; NOT document content); title token uses pStyle w:val="Title" when source has Title style (was Heading1 collapse); table token emits informative [Table content not preserved in P2 fallback — re-export with the original source .docx to restore] placeholder (was bare <w:p/>); NEW _tokenize_inline_runs + _emit_inline_runs helpers convert markdown **bold**<w:b/> runs + _italic_<w:i/> runs with word-boundary-guarded italic to avoid splitting identifiers like Mo_OS_user_guide; defensive tok.get('text', '') for tokens without 'text' key (closes latent v1.0.1 KeyError on table tokens that v1.28.0.1's SystemExit had hidden); fallback_stats init gains p2_heading_indistinguishable_from_title: False default; docx_styles_bundle imported at module top.
  • Verified at ship: competitive-brief-anthropic-claude-code.docx round-trip (171KB source → 4682-byte P2 output; 53 <w:b/> + 3 <w:i/> runs; zero literal markdown leakage); CFO whitepaper round-trip (26195-byte source → 6427-byte P2 output; 5 <w:b/> + 6 <w:i/> runs); Phase 3 dry-run smoke test 23/23 PASS including python-docx round-trip; Mike-A64 visual signoff.

v1.30.0 — 2026-05-15 — Studio-Tier Rebuild Single-Gesture + Pre-Flight Ship-Gate — script contributions SHIPPED

Release plan: 6f33d2e3 | Arch-spec: afd811dd v0.4 LOCKED | Brief: 9d67de4a v0.2 LOCKED | Activation: 615482bc (argus-a63) | Captain's Read: a5f4b26b Block 1 cycle 2 of 5

  • AMENDED .tropo/scripts/rebuild-index.py (Stream B) — --apply mode now auto-invokes rehydrate.py at end of successful index rebuild; NEW --skip-rehydrate flag preserves opt-out for advanced callers (CI splitting; rebuild-vault.py at its [2/5] step). NEW exit codes: 6 rehydrate-failed; 7 rehydrate-timeout (120s ceiling). Module docstring NEW Exit codes table.
  • AMENDED .tropo/scripts/rebuild-vault.py (Stream C-a) — NEW [1/5] tropo-validate.py pre-step BEFORE existing rebuild flow; validator FAIL → exit code 8 + refuse rebuild against broken substrate; validator PASS → continue. Composition fix: [2/5] rebuild-index.py invocation now passes --skip-rehydrate flag (prevents Stream B's auto-invoke from causing double-rehydrate alongside [3/5] explicit rehydrate). Step labels normalized to /5 throughout. NEW exit codes: 8 validator-failed-pre-rebuild; 9 validator-timeout/error. Module docstring updated with v1.30.0 Stream C-a callout + composes-list + exit codes table.
  • AMENDED .tropo/scripts/build-release.py (Stream C-b) — NEW Step 0c (governance contribution detailed in tropo-governance hub Change Log).

v1.29.0 — 2026-05-15 — Substrate Hygiene: Duplicate-YAML-Key Cleanup — script contributions SHIPPED

Release plan: dac467f5 | Arch-spec: 81555e45 LOCKED v0.5 | Predecessor brief: 3db56ec2 v0.4 | Activation: 615482bc (argus-a63) | Captain's Read: a5f4b26b

  • NEW .tropo/scripts/_yaml_dup_lib.py v1.0.4 (Stream A) — shared library module; canonical implementation of duplicate-top-level-YAML-key detection + merge logic. Public API: detect_duplicate_yaml_keys(frontmatter_text) -> dict[str, int] + merge_duplicate_yaml_keys(frontmatter_text) -> tuple[str, dict, list] + extract_frontmatter(file_text) -> Optional[tuple[str, str, str]]. Both fix script and validator import from it — no parallel implementations. Detection scope: top-level YAML keys ONLY (within-list value duplicates filed at inbox 6ba0e525). Internal helpers: _strip_inline_comment (proper YAML semantics — strips # end-of-line comments from list items before quote-strip; added v1.0.4 per mid-cycle corruption recovery); _collect_block_list_items (returns 3-tuple (items, next_idx, has_comments); in-list-comments cause refuse-merge per spec §3.1 step 5); _parse_inline_list. Inline self-test runnable via python3 _yaml_dup_lib.py covers 5 fixtures including the exact corruption pattern.
  • NEW .tropo/scripts/fix-duplicate-yaml-keys.py v1.0.4 (Stream A) — one-shot cleanup script. Three modes: --dry-run (default; no precondition), --apply (requires clean git working tree), --allow-dirty (escape hatch for gitignored-vault deployments per spec v0.5; operator declares alternative rollback substrate). Idempotent. Scalar-conflict + in-list-comment refusal with explicit manual-resolution guidance. Next steps footer adapts to (mode, files-with-errors, files-with-dups) state combinations. Exit codes: 0 success / 1 generic error / 3 scalar-conflict on apply / 4 dirty git working tree / 5 invalid scope.
  • AMENDED .tropo/scripts/tropo-validate.py (Stream A) — NEW check_duplicate_yaml_keys function (FAIL severity per spec §3.2). Lazy-imports detection from _yaml_dup_lib.py (graceful fallback if shared lib missing). Wired into main() between integrity-parity check and Summary section. PASSES on 1872 files at v1.29.0 ship.

v1.28.0 — 2026-05-14 — Template Registration + Format-Only Export + Nav-Mirror Auto-Authoring + Style-Extraction-at-Import — playbook + script contributions SHIPPED

Release plan: 55e1e537 | Arch-spec: 5a89297a LOCKED v0.5 | Activation: 16062c85 (argus-a62)

  • NEW .tropo/scripts/office_styles.py (Stream B) — shared library module exposing extract_office_styles(file_path: Path) -> dict | None per arch-spec §3.5.5 Amendment 2. Reads word/styles.xml, word/theme/theme1.xml, word/settings.xml, section properties in word/document.xml, header*.xml + footer*.xml, special-features namespace scan. Output mirrors §3.4 schema. Single source of truth for "how Tropo extracts Office style metadata" — imported by import-walker.py create-sidecar, tropo-register-template.py, tropo-backfill-styles.py. v1.28.0 scope: .docx only; .xlsx/.pptx defer to their own future cycles per §5.6.
  • AMENDED .tropo/scripts/import-walker.py v1.0.1 → v1.0.3 (Stream B) — cmd_create_sidecar extended per arch-spec §3.5.5 Amendments 1 + 2: (a) folder-marker mirror co-write via ordered-write protocol (mirror.tmp → on-disk marker → atomic-rename → inline vault/00-index.jsonl sync); (b) retro-fill semantics when marker exists but mirror missing (pre-v1.28.0 imports OR mid-write process-death recovery); (c) ## Members body section rebuilt from registry walk on every invocation; (d) original_styles: population on projection via shared extract_office_styles() library function; (e) style_extraction_skipped journal event + STDERR warning on .docx extraction failure; (f) folder-mirror-orphan-state reconciler recovery hooks. Plus: new append_projection_index_row() (v0.5.1 in-stream micro-amendment — closes the v1.25.0 fa026415 carry-forward defect within v1.28.0 scope; folder mirror Members section populates on first-touch).
  • NEW .tropo/scripts/tropo-register-template.py v1.0 (Stream B) — user-facing CLI per arch-spec §3.6. Slug regex validation ([a-z0-9-]+); 3-state slug-collision discrimination (clean / registered / binary-present-but-unregistered); reconciler lock library-mode composition; copies binary to .tropo-studio/templates/<slug>.docx; SHA-256 hashes the copy; calls shared extract_office_styles(); authors docx-template entry with full §3.3 + §3.4 schema; inline index sync; supersession chain on --force (predecessor flips state: archived with supersedes: pointer); journal template_registered event with slug_collision_resolution: discriminator.
  • NEW .tropo/scripts/tropo-export.py v1.0 (Stream B) — user-facing CLI per arch-spec §3.7 (v0.4 amendment + v0.5 closures). Dual-path body-swap export with mutual exclusion: (a) preservation export (no --template) opens source binary as scaffold (P1 max fidelity — preserves header/footer/theme/custom-XML/macros/embedded-fonts/watermarks/section-properties; replaces body); falls back to original_styles: reconstruction (P2) if source binary missing; fails loud with remedy message if both missing. (b) transformation export (--template <uid>) opens registered template binary as scaffold; same body-swap mechanism. Heading-anti-collision rule per §3.7 step 4 (working-copy # Title → template Title style if present; else bold-Normal-center on collision-avoidance OR safe-promote-Heading1). Tracked-changes orphan-marker detection per §3.7 step 5.5 v0.5 (preserve + warn doctrine; orphans resolved in user's normal Word review workflow). Working-copy single-parent precondition (§3.7 precondition 4 NEW). Full journal export_generated schema with export_path_type + tracked_changes_in_source_scaffold + fallback_stats.
  • NEW .tropo/scripts/tropo-backfill-styles.py v1.0 (Stream B) — migration gesture per arch-spec §3.13 (v0.4 NEW + v0.5 EXTENDED). Three modes: --projection <uid> (single backfill), --all (sweep all external-artifact entries without original_styles:), --folder-markers (NEW v0.5 — sweep on-disk markers without vault mirrors; co-author mirrors with retro-fill semantics). Sweep modes require --yes to bypass TTY prompt; bare sweep on non-TTY refuses. Imports import-walker.py as a library to reuse write_folder_mirror; per-failure STDERR detail.
  • AMENDED reconcile-imports.playbook v1.1 → v1.2 LOCKED (Stream C per arch-spec §3.8 v0.5) — three changes. (a) template-binary-drift event ACTIVATED — was reserved-deferred at v1.1; now live at §Step 4 + §Step 6 (judgment-class 0.50; surface_to_user with three resolution paths: accept-and-export / re-register / abort per §3.7 precondition 3 prompt-then-proceed). (b) NEW folder-mirror-orphan-state event (judgment-class 0.55; closes sa.skeptic-008 P1-1 + sa.cold-boot-007 B2 atomicity gap; resolution is reconciler-deterministic retro-fill using marker UID per §3.5.5 Amendment 1 v0.5). (c) Folder-mirror UID-duplication SANCTIONED EXCEPTION declared at §Step 4 (closes sa.skeptic-008 P0-2): existing v1.0 duplicate-UID rule now treats mirror_of: <self-uid> self-reference + matching folder_marker_path: as a sanctioned dual-residence pattern (skip duplicate-UID detection). Composes with §3.10 check 8 NEW validator (Stream D).

Real-user-shape testing: All 5 scripts smoke-tested against Mike's 3 imported David files (d63bf867, 8c62a820, ec5c4748). Preservation + transformation export both produce valid .docx outputs. Backfill populated original_styles: on all 3 projections.

v1.28.0.1 bundled remediation (in-cycle pre-ship; absorbs ship-time gauntlet sa.skeptic-009 P0s + P1-4 + D1):

  • tropo-export.py v1.0.0 → v1.0.1 with three closures:

    • P0-1 Markdown table support — parse_working_copy_body extended with table token kind; new _build_table() emits OOXML <w:tbl> with structured rows/cells/borders. Without this fix, tables silently flattened to a single prose paragraph (David's Relations table demonstrated the failure on smoke-test inspection). Re-tested: 4 tables / 25 rows / 72 cells in each new export.
    • P0-2 mc:Ignorable namespace preservation — body_swap() rewritten from full-XML re-serialization to targeted body-substring replacement. Root element + xmlns declarations + mc:Ignorable attribute byte-identical to source. Strict OOXML consumers (Open-XML SDK, LibreOffice strict mode, corporate validators) now accept the output. Re-tested clean.
    • P1-4 Live-scaffold style re-extraction for P1 path — re-extracts via office_styles.extract_office_styles(scaffold_path) instead of trusting the projection's recorded original_styles:. Heading-anti-collision uses the binary's current styles.
  • D1 (cold-boot discoverability) — capsule path link convention fixed: vault/files/<uid>.md.tropo/capsules/<name>.capsule.md across RELEASE-NOTES.md + 4 hub Change Logs.

P1-1/P1-2/P1-3/P1-5 + P2s deferred to v1.29.0 substrate-hygiene. Pristine-no-Rule-7 streak target: 35 cycles if v1.28.0 ships clean — P0s absorbed in-cycle per "we fix issues when we find them" doctrine.

v1.25.0 — 2026-05-13 — Import Primitive Tier 1 — playbook + script contributions SHIPPED

Release plan: b55a395f | Arch-spec: 2b49ba79 LOCKED v1.0 | Registry row: c3e3d853

  • NEW reconcile-imports.playbook v1.0 LOCKED ([4a2f6dbd]) (Stream C) — 10-step playbook codifying sa.reconciler's intelligence. Initial 6-pattern catalog. Strict-inequality confidence boundaries. Rename-with-overwrite forced to blocking. Hash function fallback chain. Reversibility classification.
  • NEW import-walker.py v1.0 + scan-import-state.py v1.0 (Stream B) — ~900 lines stdlib-only Python. Stable-identifier hashing with three-step fallback (Office docProps/core.xml dc:identifier; PDF /ID trailer; content-aware XML payload; plain SHA-256). Concurrency lock at .tropo-studio/reconciler/.lock. Audit log writes to journal.jsonl. Boot-time scan: 2ms on the Studio.
  • AMENDED agent-activation.playbook v2.9 → v2.10 (Stream D) — Group 3 Step 3.4.5 added: Run Import-State Scanner. Skip-silent on pre-v1.25.0 Studios.
  • AMENDED fleet-ops.playbook v2.1 → v2.2 (Stream D) — sa.reconciler added to Active Fleet table as Daily cadence; auto-generated .tropo/scheduled-agents.md picks up on next rebuild.
  • AMENDED rebuild-vault.py (Stream E deferred-D) — Step 4 added: invokes import-walker.py reconcile for sidecar→projection regeneration per OS Invariant #8. Skip-silent on pre-v1.25.0 Studios.

v1.27.0 — 2026-05-12 — Dev-Pipeline Enforcement Hardening — executor brief-based fallback SHIPPED

Release entry: 6632f651 | Activation root: 0af7db3e | Registry row: e7842a1c | Predecessor brief: b6c604e4

  • AMENDED update-subsystem-canonical-docs.py executor — Stream B amendment. --release-plan-uid is now OPTIONAL. When absent, executor reads capabilities_touched: + hub_summaries: directly from the release entry (post-v1.21.0 brief-based pattern). Legacy plan-based path preserved when --release-plan-uid is provided. Both coexist. Closes the silent bypass that let v1.20.0 → v1.26.0 brief-based releases ship without hub release_history rows + registry rows + structural-consistency verification firing automatically.
  • Honest finding closed: the post-v1.21.0 brief-based release pattern bypassed the v1.9.2 executor by simply not providing a release-plan; the executor required --release-plan-uid. Stream B makes brief-based input first-class.
  • Composes with Stream A (validate-capability-membership.py extended to gate brief-based releases — see Tropo Governance Change Log v1.27.0 entry).

v1.26.0 — 2026-05-12 — Memory Subsystem v2 → v3 — playbook amendments SHIPPED

Release entry: bcdf390c | Activation root: ee72530d | Registry row: d9c7a32f

  • AMENDED agent-retire.playbook v2.7 → v2.8 (e2c7d185) — Step 1.1.5 (Compact Memory at Retirement) now dispatches sa.memory-curator with trigger=retire instead of retiring agent doing in-line compaction. The retiring agent's job simplifies to: dispatch curator → ratify recommendations → seal transfer. Curator owns the work async (suggest-don't-write contract; ratification via live-channel; bounded recommendation set).
  • AMENDED agent-activation.playbook v2.8 → v2.9 (99341618) — Step 2.5 (Load Agent-Level Memory) now dispatches sa.memory-curator with trigger=boot. Boot-side curator dispatch is light (predecessor already compacted at retire per v2.8); additive fold + verification-before-use sweep + score updates. Legacy v1/v2 fallback preserved for predecessors that retired pre-v1.26.0.
  • Honest pipeline finding: dev-pipeline's update-subsystem-canonical-docs executor (v1.9.2 substrate) was supposed to auto-derive subsystem hub rows from release-plan's capabilities_touched: + hub_summaries:. v1.26.0 used the post-v1.21.0 brief-based release pattern (input_brief_uid: instead of shipped_release_plan:); executor silently skipped because no plan was present. This entry was added manually via v1.26.0.2 doc sweep + filed dev-pipeline-enforcement-hardening as a roadmap follow-up to close the gap structurally.

v1.9.2 — 2026-05-07 — Shipped

  • NEW dev-pipeline step update-subsystem-canonical-docs (WorkflowNode 9d4f7e21) — leaf step inserted in build stage between author-arch-spec-artifacts (24f16afc) and the deploy-stage transition. Build stage now 2-step linear chain (24f16afc → 9d4f7e21); pipeline grows from 8 to 9 visible leaf steps. Auto-fires Rule 12 hub release_history derivation per release.capsule v3.4 — closes the three-cycle manual hub-row substitute pattern (v1.8 + v1.9.0 + v1.9.1).
  • Permanent executor module at .tropo/scripts/dev-pipeline/update-subsystem-canonical-docs.py (~500 lines). NOT a per-cycle scaffold like the manual append-v1-X-hub-rows.py scripts. Reads release-plan's capabilities_touched: + hub_summaries:, derives subsystems_touched: via 1-hop member_of: traversal, and for each touched hub: prepends release_history: row (with derived_from: capabilities_touched), bumps last_release_reflected:, appends row to subsystem-registry.jsonl, writes derived subsystems_touched: back to release entry. Includes idempotency guards (skip prepend if row with same release_uid exists; dedup registry on (release_uid, subsystem_uid) pair), silent-filter audit trail (capabilities with no hub member_of: surface in stderr WARNING + manifest field silently_filtered_non_hub_caps), cross-folder UID resolver (scans vault/files/, .tropo/capsules/, .tropo-studio/, agents/*/agent-boot.extension.md).
  • dev-pipeline root v1.0.1 → v1.1.0 (cd1fcd25) — build stage gained child step. build stage v1.0.0 → v1.1.0 (3bd8f5b6) — children: 1 → 2. author-arch-spec-artifacts v1.0.0 → v1.0.1 (24f16afc) — next_steps: [][9d4f7e21].

Impact: the dev-pipeline now fires self-documentation automatically as a build-stage step. Release ships derive their own hub release_history rows from the release-plan's hub_summaries: field — the same authored prose v1.8/v1.9.0/v1.9.1 hand-coded in throwaway scripts now lives on the release-plan as durable content. The cycle's structural antidote (a46-reflection's "ship the rule + ship the executor" pin) is operational. Round 4 fold caught 3 defects in the executor on its first apply against v1.9.2's own ship — the dogfood gate worked.

Next: v1.10 Enforcement hardens the executor — structural-consistency check (assert release.subsystems_touched == derived(capabilities_touched)) hard-gates, Check 21 promotes to ERROR. Partial-state recovery story improvement — Ship Gate ordering rule in subsystem-hub.capsule v1.4 names a fix (write hub with registry_uid: pending, then registry, then backfill); implementing that pattern in the executor closes the bidirectional-pair-invariant break that surfaced at Round 4.

v1.2 — 2026-04-20 — Shipped

  • Agent Activation Playbook v2.1 → v2.2 (99341618) — Step 0.0 explicit vault-root resolution before any tier read; Steps 0.1 + 0.2 HALT on Tier 1/2 unreachability (replacing prior "note and proceed" default); Step 4.2 Boot Retrospective added so every agent surfaces process-general findings to ops.md at boot. A28 hardening session triggered by his own silent path-base bypass 2026-04-19.
  • apply-update playbook v1.0 → v1.1 (71f186cf) — new Step 3c kernel-seed propagation. Walks .tropo/seed/vault/*.md; for each seed UID absent from vault/files/, copies the seed into active ledger; never overwrites existing UIDs; surfaces drift bulletins to ops.md when a seed diverges from a locally-customized entry. First use: project-board (c72f1a85) kernel default.

Impact: agent activation now fails-loud on structural defects at boot (path-base errors, missing tier files). Kernel-shipped vault entries propagate on install via apply-update — extensible pattern for future kernel seeds (default board-definitions, governance-pack seeds, etc.).

Next: v1.3 Stream D brings 5–8 non-migration playbooks to v2.2 compliance (Groups + milestone gates + run.jsonl). sa.research 027 found only 2 of 15 non-migration playbooks are fully v2.2-compliant today; the fleet lags the spec. Targets: apply-update (already done this session, verify), build-release, fleet-ops, first-vault-setup, new-hire-onboarding.


Tropo Playbook System (TPS) | tropo-playbook-system | Owner: argus | Created 2026-04-14 | Change log added 2026-04-20 by Argus A29 Board: [[824918bb]] | All: [[641c275d]] | Tasks: [[ff417bf7]]


Verification Contribution (per matrix v1.0 footer)

A playbook is a process written down in a form a stranger can execute and a reviewer can verify. Every run leaves a run folder with a thread.md (what the agent thought), a run.jsonl (what fired when), and verification receipts (what passed / what didn't). The playbook is the intent; the run is the evidence. Together they answer "did the process actually happen, correctly, once?" — which is what verification infrastructure has to prove.

v1.3 — 2026-04-21 — Rename + verification-thesis footer

  • Renamed TPS → Tropo Playbooks per capability matrix v1.0 OD2-F. UID preserved.
  • subsystem_name field updated from legacy-prefixed to current naming.
  • last_release_reflected bumped to 1.3.0.
  • aligned_with reference bumped to subsystem-hub.capsule v1.1.
  • Verification-thesis footer added per matrix v1.0 OD2-D — names this subsystem's contribution to verification-first identity.
  • Body heading §What This Covers → §What This Subsystem Covers (canonical form per subsystem-hub.capsule v1.1).

v1.4 → v1.6 — 2026-05-05 — Forward-only catch-up consolidated (v1.7 Stream B4)

Per Decision 3 of v1.7 brief 6b5f7886: single consolidated entry. Registry pair: row 88d9bec6. Most stale subsystem hub by cycle count pre-v1.7 — every cycle from v1.4.0 forward unreflected (6 cycles).

  • playbook.capsule v2.0 → v2.4: Workshop signage (v2.2) + Test-Harness in-capsule subtype + field-vs-shape graduation-threshold disambiguation + §Pending Sub-Requirements pattern + Validation Checks 20+21 + pattern_exemplar: d0c00001 declaration.
  • v1.4.2 test-harness suite NEW: release-test-plan v2.0.1 + 4-stage paired-mode gauntlet codified.
  • dispatch-walker.playbook v0.2 → v0.3 → v0.3.1: walker-specific dispatch protocol; v1.7 Stream C1 §Scope clarification (blocklist scope-limited; doesn't propagate).
  • dispatch-cold-boot.playbook v0.2: paired-mode (Stage 3.2 strict + 3.3 skeptic).
  • Concierge-paths library expansion across v1.4.4 + v1.5: welcome.playbook, personal-chief-of-staff.playbook, others.
  • Playbook Spec v1.0 cascading supersession close (v1.7 Stream B6): 77d14e53 flipped to state: archived + superseded_by: e6d373bc (v2.2). Bidirectional pair complete.
  • NEW v1.7 Stream A6 skills: groom-subsystem-hub.skill + dispatch-sa-step.skill — first-instance scaffolding for the pipeline-step-with-sa.* verifier pattern (formalized at v1.10 Enforcement).

Impact: the playbook fleet now has substrate-grade discipline (v2.4 capsule + Workshop signage + §Pending Sub-Requirements pattern); dispatch protocols are formal; the test-harness gauntlet is canonical. v1.7's new skills extend the pattern to executor-orchestrated multi-instance sa.* dispatch.

Next: v1.7 ship adds the v1.7 release_history row at Gate 6 dogfood. Sprint 4 run-release-test-plan.playbook orchestrator (4c8f6d2a) closes the transitional direct-invocation gap. v1.10 Enforcement formalizes pipeline-step-verifier capsule.