Skip to content

Requirements: Vox Milestone v6.5 (`Phases 378–382`) — Complete 32-Surface White/Gold Carrara Marble Unification, Seamless Texture & Roman Emerald Signet Overhaul, and User-Selectable Minimalist Grey-Blue (`slate`) Theme

Defined: 2026-11-08 Core Value (v6.5): Eliminate every remaining dark-brown (#0E0B07..#2A2011) surface, sidebar button, drawer, tooltip, and missed page across all 32 Vox Axis GUI surfaces in the default Roman White/Gold Carrara Marble theme; fix all 5 glitchy/repeating/offset texture defects; replace red working status seals with high-visibility Roman Imperial Emerald & Gilded Laurel Wreath Signets (#1B6B3A / #228B4E with burnished gold #D4AF37 border, reserving crimson strictly for errors/alerts); preserve and wire the clean Minimalist Grey-Blue Dark Theme (slate / void) selectable in Settings → Theme; and verify all 28 navigable SURFACE_REGISTRY surfaces + drawers/modals across both themes via Playwright + Gemini Computer Vision.

v6.5 Requirements (Phases 378–382, 20 Requirements)

Section titled “v6.5 Requirements (Phases 378–382, 20 Requirements)”
  • ROMA-V65-TEXTURES-01..04 (Phase 378): Generate frame-free seamless honed Carrara marble (carrara-seamless-stone.jpg), wide Roman acanthus header band (carrara-acanthus-header-band.jpg), Roman Imperial Emerald & Gold Laurel Signet (roman-emerald-laurel-seal.jpg), and Milestone v6.5 concept art plates; fix @keyframes vox-marble-sheen 3-layer background-position sliding bug, framed travertine-parchment-tablet.jpg edge cropping, and roman-architectural-frieze-footer.jpg repeating astrolabe seam.
  • ROMA-V65-EMERALD-CHROME-01..04 (Phase 379): Replace red waxSealBadge working/live pills (RomanSurfaceHeader.tsx) and brown live dots (Sidebar.tsx) with the Roman Imperial Emerald & Gilded Laurel Wreath Signet (#1B6B3A / #228B4E emerald cabochon + #D4AF37 gold border + crisp vector laurel wreath SVG); convert all dark-brown buttons/containers in Sidebar.tsx, SessionSidebarSection.tsx, BackendStatusPill.tsx, BottomStatusBar.tsx, RomanTooltip.tsx, Omnibar.tsx, Dialog.tsx, and all Drawers to sunlit White/Gold Carrara Marble.
  • ROMA-V65-SURFACES-01..04 (Phase 380): Purge all remaining dark-brown classes, inline styles, and canvas fills across the 15 previously un-audited surfaces (SettingsView, ScientiaDashboard, CommandCatalogForm, PublicationsView, MemoryView, DiscoverySurface, ActivitySurface, ApprovalsView, PoliciesView, SubAgentsView, RepositoryView, BrowserView, CodeRabbitView, GamifyView, LeaderboardArenaPanel, ModelsView, Populi, Oratio, Skills) and simulator HUD/canvas (LudusSandbox, HudPanels, ImperiumInspector, worldRenderer.ts).
  • ROMA-V65-DUAL-THEME-01..04 (Phase 381): Preserve and wire the user-selectable Minimalist Grey-Blue Dark Theme (slate / void) in Settings → Theme (lib/theme.ts, SettingsView.tsx, index.css, Glass.tsx, Backdrop.tsx, Sidebar.tsx, RomanSurfaceHeader.tsx) with #0c0e10/#15191c/#1f262b grey-blue slate surfaces, crisp typography, emerald active indicators, and zero marble textures when selected.
  • ROMA-V65-CV-VERIFY-01..04 (Phase 382): Expand e2e/review/cv-flywheel.spec.ts to cover all 28 navigable SURFACE_REGISTRY surfaces + drawers/modals across both themes (arcane White/Gold Carrara Marble and slate Minimalist Grey-Blue Dark), verify via Playwright + Gemini Vision, present inline Before/After carousels, rebuild vox-gui + vox (--features gui), and relaunch vox axis.
RequirementPhaseStatus
ROMA-V65-TEXTURES-01..04Phase 378In Progress
ROMA-V65-EMERALD-CHROME-01..04Phase 379Pending
ROMA-V65-SURFACES-01..04Phase 380Pending
ROMA-V65-DUAL-THEME-01..04Phase 381Pending
ROMA-V65-CV-VERIFY-01..04Phase 382Pending

Requirements: Vox Milestone v6.4 (Phases 373–377) — Full-Canvas White/Gold Carrara Marble Unification, Non-Procedural Monument Simulator, Single-Line Roman Controls & Zero-Monospace Typography

Section titled “Requirements: Vox Milestone v6.4 (Phases 373–377) — Full-Canvas White/Gold Carrara Marble Unification, Non-Procedural Monument Simulator, Single-Line Roman Controls & Zero-Monospace Typography”

Defined: 2026-11-08 Core Value (v6.4): Unify all 32 Vox Axis GUI surfaces into the full-body Sunlit White/Cream Carrara Marble & Burnished Gold aesthetic (#FAF6EE / #F5EFE2 / #EFE6D5, #C59B27 borders, #1C140C espresso ink) with non-distracting Vitruvian architectural watermark background and sculpted Roman frieze footer; replace procedural 2D polygon building models in the Urbs simulator with generated painted Roman monument artwork wired to live agent/orchestrator files & folders and animated golden aqueduct streams; fix ORCHESTRATOR circular bubble cutoff (r=66) and DAG node cutoff (width=136); make OPEN FORM, EXPLAIN CAPABILITY, OPEN DOCS strictly single-line and = GENERIC FORM compact; and purge all Courier/Arial/Menlo monospace font fallbacks across all 32 surfaces and 3 resolutions (1280×800, 1440×900, 1920×1080).

v6.4 Requirements (Phases 373–377, 20/20 Complete)

Section titled “v6.4 Requirements (Phases 373–377, 20/20 Complete)”
  • ROMA-V64-FLOW-EXP-01..04 (Phase 373): Enlarge ORCHESTRATOR circular hub medallion (r=66 in AgentFlow.tsx) and widen ORCHESTRATOR DAG node (width=136 in NeedsYouSurface.tsx) for zero text cutoff; make OPEN FORM, EXPLAIN CAPABILITY, OPEN DOCS single-line (ExplorerTree.tsx, Button.tsx) and = GENERIC FORM compact (CapabilityBadge.tsx).
  • ROMA-V64-URBS-MONUMENTS-01..04 (Phase 374): Remove procedural 2D polygon building drawing from worldRenderer.ts; wire LudusSandbox.tsx to urbs-white-gold-citadel-bg.jpg, generated monument portraits (monument-*.jpg), live file/folder badges, and animated SVG golden aqueduct streams.
  • ROMA-V64-WHITE-GOLD-01..04 (Phase 375): Convert Backdrop.tsx, Glass.tsx, and index.css across all 32 surfaces to the Sunlit White/Cream Carrara Marble & Burnished Gold aesthetic with subtle Vitruvian architectural watermark (carrara-page-watermark-bg.jpg) and bottom Roman frieze (roman-architectural-frieze-footer.jpg).
  • ROMA-V64-TYPO-01..04 (Phase 376): Remap --font-mono, --font-family-mono, .font-mono, pre, code, and all SVG/Canvas font declarations to 'Palatino', 'Palatino Linotype', 'Book Antiqua', 'EB Garamond', Georgia, serif (tabular-nums) and 'Cinzel', 'Palatino', Georgia, serif.
  • ROMA-V64-VERIFY-01..04 (Phase 377): Verify all 32 SURFACE_REGISTRY surfaces across 1280×800, 1440×900, and 1920×1080 via Playwright + @ngi/platform-ssot CV Flywheel (0 axeViolations, 0 clippedInteractiveCount, 0 overlappingControlPairs, 0 digitalColorLeakCount), built-in Gemini vision inspection, and zero-warning production bundle build.
RequirementPhaseStatus
ROMA-V64-FLOW-EXP-01..04Phase 373Complete
ROMA-V64-URBS-MONUMENTS-01..04Phase 374Complete
ROMA-V64-WHITE-GOLD-01..04Phase 375Complete
ROMA-V64-TYPO-01..04Phase 376Complete
ROMA-V64-VERIFY-01..04Phase 377Complete

Requirements: Vox Milestone v5.8 (Phases 346–351) — Romanesque Axis Overhaul, Zero-Occlusion Progressive Disclosure, Interactive Status Bar & 32-Surface Multi-Resolution CV Flywheel

Section titled “Requirements: Vox Milestone v5.8 (Phases 346–351) — Romanesque Axis Overhaul, Zero-Occlusion Progressive Disclosure, Interactive Status Bar & 32-Surface Multi-Resolution CV Flywheel”

Defined: 2026-11-08 Core Value (v5.8): Eliminate every text overrun, control occlusion, and sci-fi “argon AI” aesthetic inconsistency across all 32 Vox Axis GUI surfaces at 1280×800, 1440×900, and 1920×1080; unify the entire desktop GUI under authentic Imperial Roman Travertine, Porphyry, Burnished Brass, and Verdigris theming with bespoke engraved SVG semiotics (replacing emojis); apply progressive disclosure and button clustering to eliminate UI busyness; make every bottom status bar tile clickable (with both rich interactive dropdown popovers and direct surface navigation, plus a new live Repo / Local Version tile and full Configure ▾ persistence); and verify all 32 surfaces across multiple before/after Playwright CV Flywheel passes against approved Romanesque concept art.

v5.8 Requirements (Phases 346–351, 24 Requirements)

Section titled “v5.8 Requirements (Phases 346–351, 24 Requirements)”

Phase 346: Top-Left Sidebar/Breadcrumb Collision Fix, Romanesque Design Tokens & Engraved SVG Semiotics (ROMA-CHROME)

Section titled “Phase 346: Top-Left Sidebar/Breadcrumb Collision Fix, Romanesque Design Tokens & Engraved SVG Semiotics (ROMA-CHROME)”
  • ROMA-CHROME-01: Fix the top-left header collision between Sidebar.tsx (fixed left-3 top-3 z-50 when sidebarMode === 'hidden') and BreadcrumbBar.tsx (AGENTS › DASHBOARD) by docking the [ 🏛 SIDEBAR › ] restore pill cleanly inside the left slot of BreadcrumbBar (or offsetting BreadcrumbBar when the sidebar is collapsed) so zero overlap occurs at 1280×800, 1440×900, or 1920×1080.
  • ROMA-CHROME-02: Add bespoke engraved Roman SVG icon components to crates/vox-gui/ui/src/components/ui/Icons.tsx (RomanColumnIcon, LaurelWreathIcon, GladiusShieldIcon, DenariusCoinIcon, HourglassViaIcon, BrazierTorchIcon, AstrolabeRadarIcon, AqueductArchIcon, WaxSealIcon, ScrollTabulaIcon, RomanGitBranchIcon) and replace inline emojis (⏳, 🔔, 🔥, 🔍, 🏛, ⚔, ⛵, 🪙, 🔬, ⚡, ⚙, ✎) across LudusSandbox.tsx, HudPanels.tsx, ViaTemporisScrubber.tsx, GamifyView.tsx, LudusHud.tsx, LeaderboardArenaPanel.tsx, HarnessRiverPanel.tsx, and BottomStatusBar.tsx.
  • ROMA-CHROME-03: Standardize Romanesque button, pill, and card border tokens across vox-gui/ui (warm obsidian-travertine #0C0B09 / #14120E, burnished Roman brass #D4AF37 / #E5A93C, terracotta #C2410C, porphyry #991B1B, aqueduct verdigris #10B981, carved stone border #2A261F, Cinzel display headers) so primary actions, secondary stone pills, and segmented clusters share one cohesive Romanesque visual language.
  • ROMA-CHROME-04: Add unit and Playwright assertions verifying zero overlap between sidebar-restore-btn and breadcrumb-bar when sidebarMode === 'hidden' across 1280×800, 1440×900, and 1920×1080.

Phase 347: Dashboard Embedded Minimap Isolation, Progressive-Disclosure Frieze Drawers & 7-Regio Forma Urbis Romae Astrolabe Radar (ROMA-DASH-URBS)

Section titled “Phase 347: Dashboard Embedded Minimap Isolation, Progressive-Disclosure Frieze Drawers & 7-Regio Forma Urbis Romae Astrolabe Radar (ROMA-DASH-URBS)”
  • ROMA-DASH-URBS-01: Wrap Dashboard.tsx’s embedded WORKSPACE SIMULATION MINI-MAP <LudusSandbox /> in <EmbeddedSurfaceProvider value={true}> and increase its embedded viewport height to 260px so the embedded city strip renders a clean single-row top landmark frieze (AMPHITHEATRVM · PRAETORIVM · AQVAE MCP · CASTRVM CI · PORTVS · PORTA GIT), unobstructed isometric Roman architecture, and a compact bottom telemetry strip (AERARIVM · ENERGY · SPEED · FIT) with zero stacked HUD pileups.
  • ROMA-DASH-URBS-02: Refactor LudusSandbox.tsx’s floating overlays (ViaTemporisScrubber, urbs-priority-dock, urbs-minimap-radar, urbs-lens-bar) into progressive-disclosure Roman frieze drawer toggles ([ Via Temporis ], [ Priority (N) ], [ Forma Urbis ], [ Lens ▾ ]) so overlays never collide with each other or with HudPanels at 1280×800, 1440×900, or 1920×1080 in either embedded or full-screen mode.
  • ROMA-DASH-URBS-03: Replace the 148-district yellow wireframe smear in urbs-minimap-radar (LudusSandbox.tsx) with an engraved marble & brass FORMA VRBIS ROMAE 7-Regio Astrolabe Radar that aggregates workspace crates into the 7 canonical Roman Regiones / Architectural Layers (L0 Foundation, L1 Core, L2 Engine, L3 Runtime, L4 Services, L5 Surface, Acropolis) with clean sector boundaries, Roman numerals (I–VII), active brazier hotspots, and an interactive camera frustum box.
  • ROMA-DASH-URBS-04: Eliminate the oversized clipped canvas status banner text (> AQUA Supply (535) ◆ IGNIS ... Fix...) bleeding behind the bottom HUD in worldRenderer.ts / LudusSandbox.tsx, routing supply/hazard telemetry into the clean docked Roman telemetry plaque.

Phase 348: Romanesque Reskin of Gaming Surfaces (GamifyView / LudusHud / LeaderboardArenaPanel) & AQVAEDUCTUS Harness River (HarnessRiverPanel) (ROMA-LUDUS-RIVER)

Section titled “Phase 348: Romanesque Reskin of Gaming Surfaces (GamifyView / LudusHud / LeaderboardArenaPanel) & AQVAEDUCTUS Harness River (HarnessRiverPanel) (ROMA-LUDUS-RIVER)”
  • ROMA-LUDUS-RIVER-01: Reskin GamifyView.tsx, LudusHud.tsx, and LeaderboardArenaPanel.tsx from sci-fi neon/emerald/violet gradients into the Imperial Roman Collegium & Ludus Arena: carved travertine tablets, burnished brass borders, laurel wreath rank emblems, crimson wax-seal BLAKE3 + Ed25519 verification badges, and consolidated progressive-disclosure sub-tabs (VRBS ROMA, COLLEGIUM & LUDUS, CURSUS HONORUM).
  • ROMA-LUDUS-RIVER-02: Reskin HarnessRiverPanel.tsx (WaveformTierStrip.tsx, riverCanvasRenderer.ts, AgentTrajectoryBraid.tsx, VerificationFunnelFooter.tsx) from sci-fi argon/cyan laser waveforms into AQVAEDUCTUS · CASTELLVM DIVISORIVM: a 3-tier Roman hydraulic sluice cascade (Tier I Fast Local MENS, Tier II Balanced Hybrid, Tier III Deep Architecture), laminar Aquae Flumen molten gold/amber/verdigris alluvial task streams flowing through a bronze Porta Interceptor astrolabe gate into the Tabularium basin, and stepped travertine settling basins (GENERATED → COMPILED → TESTED → GATED).
  • ROMA-LUDUS-RIVER-03: Ensure all controls in GamifyView.tsx and HarnessRiverPanel.tsx (lens selectors, tier filters, interceptor scrubbers, quest/companion actions, time-window toggles) are wired to real state/Tauri RPCs with zero placeholder buttons.
  • ROMA-LUDUS-RIVER-04: Verify vox-Ludus-view and vox-harness-river under Playwright CV Flywheel at 1280×800, 1440×900, and 1920×1080 with zero overlapping controls or clipped text.

Phase 349: Interactive Status Bar Popover Dropdowns, Repo / Local Version (vox@branch · sha · v0.6.0) Tile & Configure ▾ Persistence (ROMA-STATUSBAR)

Section titled “Phase 349: Interactive Status Bar Popover Dropdowns, Repo / Local Version (vox@branch · sha · v0.6.0) Tile & Configure ▾ Persistence (ROMA-STATUSBAR)”
  • ROMA-STATUSBAR-01: Add the repo_version (Repo / Local Version) tile to HUD_TILE_KINDS in useHudTiles.ts and BottomStatusBar.tsx, polling get_vcs_status and get_app_version to display REPO vox@<branch> · <short_sha> · v<version> (plus dirty/ahead indicators) in the bottom status bar.
  • ROMA-STATUSBAR-02: Equip every status bar tile (repo_version, active_agents / Engine, budget_burn / Spend, mesh_peers / Mesh, routing_decision / Routing, attention_debt / Needs You, and Research) in BottomStatusBar.tsx with a rich interactive Romanesque popover dropdown containing live metrics, quick-action controls, and a direct [Open <Surface> ↗] button that navigates to the target surface (vox-git-view, vox-operations-hub, vox-cost-analytics, vox-mesh-topology, vox-model-router, vox-Toast-center, vox-scientia-worth).
  • ROMA-STATUSBAR-03: Upgrade Configure ▾ (hud-configure-popover) in BottomStatusBar.tsx so operators can toggle visibility, reorder tiles (↑ / ↓), and reset defaults for all status bar tiles (including Repo / Local Version), persisted in localStorage (vox.hud.tiles.v2).
  • ROMA-STATUSBAR-04: Add unit and E2E tests verifying that clicking each status bar tile opens its interactive dropdown, clicking its [Open <Surface> ↗] action navigates to the target surface, and Configure ▾ persists tile visibility and order.

Phase 350: Progressive Disclosure, Control Clustering & Multi-Resolution (1280×800, 1440×900, 1920×1080) Overflow/Occlusion Elimination Across All 32 Surfaces (ROMA-DISCLOSURE)

Section titled “Phase 350: Progressive Disclosure, Control Clustering & Multi-Resolution (1280×800, 1440×900, 1920×1080) Overflow/Occlusion Elimination Across All 32 Surfaces (ROMA-DISCLOSURE)”
  • ROMA-DISCLOSURE-01: Audit all 32 registered surfaces in surfaceRegistry.ts at 1280×800, 1440×900, and 1920×1080 for horizontal overflow, button wrapping collisions, and text truncation (Dashboard, Chat, MENS Training, Gamify/Urbs, Harness River, Operations Hub, Tasks, Mesh, Sub-Agents, Model Router, Cost Analytics, Scientia, Repository, Settings, etc.).
  • ROMA-DISCLOSURE-02: Apply progressive disclosure ([Details ▾], collapsible secondary drawers, segmented pill groups) to high-density surface headers and toolbars so primary actions remain immediately accessible while secondary filters/knobs expand cleanly on demand without crowding the viewport.
  • ROMA-DISCLOSURE-03: Fix responsive grid breakpoints, min-w-0 flex children, and typography scaling across all 32 surfaces so no card title, KPI metric, badge, or button text overruns or occludes adjacent elements at 1280×800, 1440×900, or 1920×1080.
  • ROMA-DISCLOSURE-04: Verify that every interactive button, dropdown, and toggle across the refactored surfaces is wired to real state/backend handlers with zero dead/placeholder controls.

Phase 351: Multi-Pass 32-Surface × 3-Resolution Before/After Playwright CV Flywheel & Live Vox Axis Verification (ROMA-CV-FLYWHEEL)

Section titled “Phase 351: Multi-Pass 32-Surface × 3-Resolution Before/After Playwright CV Flywheel & Live Vox Axis Verification (ROMA-CV-FLYWHEEL)”
  • ROMA-CV-FLYWHEEL-01: Run multi-pass Playwright CV Flywheel audits (e2e/review/cv-flywheel.spec.ts) across all 32 registered surfaces at 1280×800, 1440×900, and 1920×1080, capturing before/after screenshots and mechanical telemetry (overlappingControlPairs, clippedTextCount, horizontalOverflowPx, crowdingIndex, axeViolations, visualAfterScore).
  • ROMA-CV-FLYWHEEL-02: Iterate visual and layout refinements against the 3 approved Romanesque Concept Art plates until all 32 surfaces pass with overlappingControlPairs === 0, clippedTextCount === 0, horizontalOverflowPx === 0, and axeViolations === 0.
  • ROMA-CV-FLYWHEEL-03: Rebuild crates/vox-gui/ui/dist (pnpm --dir crates/vox-gui/ui build) and relaunch the native vox-gui (Vox Axis) desktop binary so the live app reflects every v5.8 improvement.
  • ROMA-CV-FLYWHEEL-04: Publish the before/after visual comparison walkthrough artifact and commit Milestone v5.8 cleanly.
RequirementPhaseStatus
ROMA-CHROME-01..04Phase 346Pending
ROMA-DASH-URBS-01..04Phase 347Pending
ROMA-LUDUS-RIVER-01..04Phase 348Pending
ROMA-STATUSBAR-01..04Phase 349Pending
ROMA-DISCLOSURE-01..04Phase 350Pending
ROMA-CV-FLYWHEEL-01..04Phase 351Pending

Coverage: 24 v5.8 requirements mapped to Phases 346–351 → 0 unmapped.


Requirements: Vox Milestone v5.7 — Vox ↔ Python Bridge

Section titled “Requirements: Vox Milestone v5.7 — Vox ↔ Python Bridge”

Defined: 2026-11-01 Core Value (v5.7): .vox code can use numpy, polars, matplotlib and PyTorch (plus curated scipy, scikit-learn, pillow, pandas) through an out-of-process bridge, staying syntactically distinct from Python with a small, counted unverified surface; DB/backend interop happens at schema and OpenAPI level. Evidence: docs/src/architecture/vox-python-interop-design-2026-11-01.md (design SSOT, grounded + adversarially reviewed); docs/src/architecture/cli-semantic-tolerance-research-2026.md (CLI semantic tolerance & precomputed routing SSOT); docs/src/architecture/wire-format-v1-ssot.md; docs/src/architecture/anti-laziness-hallucination-and-paper-code-sota-2026.md (PAPER-GUARD).

  • EFF-01: An unknown name in @uses(...) or a uses clause is a compile error (no silent drop), and @uses(mcp(tool)) reaches HIR as Mcp(tool). One shared helper parses both forms.
  • EFF-02: Calling a Tier 1 materializer without uses python, or a py binding without uses python_unverified, fails typecheck; vox run without --caps py / py:unverified refuses at runtime.
  • EFF-03: A workflow whose inferred capabilities include python/python_unverified is rejected; the same call inside an activity compiles.
  • BR-01: With [python] in Vox.toml, vox py sync builds a uv-locked env whose uv.lock hash is recorded in vox.lock, and vox py doctor reports uv, Python, packages and sandbox status. Without [python], bridge calls fail with a py-env: error and no Python process is spawned.
  • BR-02: A one-op golden runs under vox run through the real worker; a library print inside the worker does not corrupt the framed protocol.
  • BR-03: A materialization past timeout_s, or a worker crash, restarts the worker without crashing the host; handles from the previous generation return py: stale handle.
  • BR-04: A fetch above max_fetch_mb fails with py: fetch exceeds cap; the worker runs under the vox-skill-runtime sandbox when available and vox py doctor warns when unsandboxed.
  • GOV-01: vox-python-bridge lands with its layers.toml row, where-things-live.md row and crate-edges in the same PR; AGENTS.md records the scoped .py exemption for crates/vox-python-bridge/worker/**; the stale syntax-k-complexity.md:65 path and phase5-subspec HirType line citations are fixed.
  • ARR-01: Every allowlisted std.array op typechecks and runs on numpy; the py_array_stats golden runs under vox run with asserted output.
  • ARR-02: Mixed int/float arithmetic without .astype is a type error; std requires correction= and sort requires nulls=.
  • ARR-03: NaN, ±Inf and i64 extremes round-trip through to_list unchanged; a uint64 value above i64::MAX is a runtime error.
  • ARR-04: vox ci python-bridge-parity fails when any op in contracts/python/ecosystem-support.yaml lacks a typeck signature, a worker handler, or a conformance test.
  • K-01: The four py_* goldens have canonical-ladder.v1.yaml entries and complexity-budget.v1.json rows; LEXER_KEYWORDS gains 0 entries; per-module signature-manifest (K2) ceilings are enforced.
  • FRM-01: A scan_csv → filter → group_by/agg → sort → collect pipeline runs on polars with one round-trip per collect; the py_frame_report golden passes.
  • FRM-02: Arrow columns map per the design’s §4.3 table (Decimal, UTC DateTime, Date, Duration, Option for nullable columns); a naive timestamp column errors with a .replace_time_zone("UTC") fix-it.
  • FRM-03: Paths passed to scan_*, save and load_* outside the --caps fs grants are refused host-side before any request reaches the worker.
  • PLT-01: plot.line|scatter|bar|hist(frame)…save(png) writes a valid PNG without fetching the frame’s data to the host.
  • TNS-01: tensor.load_exported("*.pt2") plus Model.run executes a torch.export program on CPU and returns Arrays; torch.load and pickle-bearing archives are refused.
  • TNS-02: With --caps random:seed=N, numpy and torch results are identical across two runs; activity journals record Python/numpy/polars/torch versions and the uv.lock hash.
  • PYX-01: import py sig from "scipy.signal" resolves only names in a binding sidecar whose lock hash matches the current uv.lock; a stale sidecar is a compile error; field or method access on PyObject is a type error.
  • PYX-02: vox py bind generates sidecars from shipped annotations; curated sidecars and goldens for scipy, scikit-learn, pillow and pandas pass in the opt-in Python CI job.
  • PYX-03: Every Tier 2 call site emits lint vox/python/unverified-call and telemetry python.escape_call (registered in contracts/telemetry/events.v1.yaml); HIR-level py_tier1_calls / py_tier2_calls appear in syntax-K support_metrics.llm_surface.
  • PYX-04: Modules in the Denied class (pickle, marshal, shelve, torch.load, os/subprocess process APIs, eval/exec-bearing modules) cannot be bound.
  • DBI-01: vox db introspect --emit vox prints table declarations that pass vox db verify against the same sqlite, postgres or mysql database.
  • DBI-02: With [db] schema_owner = "external", vox db migrate refuses to apply changes; --dry-run still prints the plan.
  • DBI-03: A how-to shows generating a Python client from a --target server app’s OpenAPI 3.1 output, with a checked example.

Tolerant CLI ergonomics & precomputed semantic routing (CLI-TOL)

Section titled “Tolerant CLI ergonomics & precomputed semantic routing (CLI-TOL)”
  • CLI-TOL-01: VoxCliRoot enables infer_subcommands(true) and infer_long_args(true), and all GlobalOpts flags (--json, --quiet, --verbose, --color) carry global = true so unambiguous prefixes (vox sec doc) and trailing/interleaved global flags parse with 0 ms happy-path overhead.
  • CLI-TOL-02: On VoxCliRoot::try_parse_from failure, argv_normalize performs <1.5 ms deterministic recovery over CommandCatalog and CapabilityIndex: order-agnostic verb↔noun token permutation (vox list secrets → vox secrets list), unique leaf elision (vox command-compliance → vox ci command-compliance), and wrong-subcommand flag redirection (vox build --release → vox compile --release).
  • CLI-TOL-03: Auto-execution is strictly gated by side_effect_class (read_only vs local_mutation / remote_mutation) and caller persona (interactive TTY vs --json / CI / VOX_MCP / non-TTY pipe): read_only permutations/synonyms auto-execute on TTY with a stderr canonical notice, mutations prompt [Y/n] on TTY, and non-TTY/LLM agent calls never prompt or silently guess—returning exit code 2 with structured aci.error_recovery canonical rewrites.
  • CLI-TOL-04: vox ci cli-synonyms --write compiles compositional verb_aliases, noun_aliases, and foreign_idioms from contracts/operations/catalog.v1.yaml into a committed contracts/cli/semantic-aliases.v1.json lockfile (using vox_actor_runtime::llm gemini-3.5-flash-lite structured output for new/changed operations and gemini-embedding-2 / local_embed_text cosine margin $\ge 0.08$ verification), and vox ci command-compliance enforces zero alias collisions and an explicit antonym banlist (add/remove, start/stop, lock/unlock, set/get, import/export, enable/disable).

Release review and complete-model distribution (REL) — added 2026-11-03

Section titled “Release review and complete-model distribution (REL) — added 2026-11-03”
  • REL-01: 0.6B, 1.7B, 4B, and 8B each have a published run on the shared recipe (rank 16, alpha 32, gradient accumulation 8). The published 0.6B adapter is not the qwen3_dev_cpu smoke preset. The published 4B run is a full shared-recipe run uploaded before the checklist passed, not a smoke run. A resumed run’s recorded token count and step count cover the whole run.
  • REL-02: 0.6B, 1.7B, 4B, and 8B each have a passing collateral check and a release receipt with overall_passed: true before that size is called ready. 14B and 32B are not distributed until a run clears the same review.
  • REL-03: Until a size is ready, its Hugging Face card and the size index say the page is the trained add-on and the review is unfinished, and they do not use the word “ungated”. When the size is ready, those pages update in the same step as distribution and describe the complete merged model. A reader can download the distributed file from the Files tab or with one vox mens hub download command.
  • REL-04: A ready size is stored and distributed as the complete checkpoint written by vox mens merge-qlora from the local Qwen base plus the trained adapter. The adapter file is not the distributed model once that checkpoint exists. Original Qwen bases are already local for 0.6B, 1.7B, 4B, 8B, and 14B. 32B is not downloaded. 14B has no trained adapter yet.
  • Python→Vox callbacks via pure Vox functions compiled to Plan IR.
  • RustAxum/Tauri compiled targets for bridge features; worker pool; mmap data plane.
  • Typed shapes; complex/f16/sparse dtypes; curated transformers; OpenAPI import as a typed Vox client; MENS lane for bridge maintenance.
FeatureReason
In-process PyO3 transportNo isolation; GIL in host; not needed at O(materializations) round-trips
Raw Python strings / py.eval / dynamic attribute accessUnverifiable surface; makes Vox Python-shaped
User-visible backend switch (numpy↔torch, pandas↔polars)Multiplies conformance tests and semantic drift (ddof, NaN order, nulls)
SQLAlchemy / Drizzle as callable librariesDuplicates Vox db; ORM-shaped unverified surface; Drizzle needs Node
Authoring torch training in VoxADR 003 — native Candle path
RequirementPhaseStatus
EFF-01Phase 324Complete
EFF-02Phase 324Pending
EFF-03Phase 324Complete
BR-01Phase 325Complete
BR-02Phase 325Complete
BR-03Phase 325Complete
BR-04Phase 325Complete
GOV-01Phase 325Complete
ARR-01Phase 326Complete
ARR-02Phase 326Complete
ARR-03Phase 326Complete
ARR-04Phase 326Complete
K-01Phase 326Pending
FRM-01Phase 327Pending
FRM-02Phase 327Pending
FRM-03Phase 327Pending
PLT-01Phase 328Pending
TNS-01Phase 328Pending
TNS-02Phase 328Pending
PYX-01Phase 329Pending
PYX-02Phase 329Pending
PYX-03Phase 329Pending
PYX-04Phase 329Pending
DBI-01Phase 330Complete
DBI-02Phase 330Complete
DBI-03Phase 330Complete
CLI-TOL-01Phase 331Pending
CLI-TOL-02Phase 331Pending
CLI-TOL-03Phase 331Pending
CLI-TOL-04Phase 331Pending
REL-01Phase 333Pending
REL-02Phase 333Pending
REL-03Phase 333Pending
REL-04Phase 333Pending

Coverage: 34 v5.7 requirements mapped to phases 324–331 and 333 → 0 unmapped.


Prior milestones (archived headers live below)

Section titled “Prior milestones (archived headers live below)”

Requirements: Vox Milestone v5.6 — Reasoning Where the Lane Needs It

Section titled “Requirements: Vox Milestone v5.6 — Reasoning Where the Lane Needs It”

Defined: 2026-10-26 Core Value (v5.6): Keep real chain-of-thought on the hub and agent spokes, keep codegen spokes in non-thinking mode, and refuse an adapter that gets worse on a fixed before/after. Evidence: .planning/research/SUMMARY.md; docs/src/architecture/mens-reasoning-preservation-research-2026-09-21.md; in-tree vox_eval::qwen_reasoning, reasoning_eval, and eval_collateral.

  • LANE-01: A codegen request is served with the non-thinking prefix ( /no_think and the empty <think>\n\n</think>\n\n block), and a hub or agent request is served with the bare thinking-mode prefix (ends at assistant\n, no /no_think). A test locks both strings.
  • LANE-02: A codegen direct-answer training row uses that same non-thinking prefix, and the empty think block is outside the loss. A row that already contains a non-empty think body keeps the thinking-mode entry and is not rewritten with /no_think.
  • BENCH-01: The same checked-in GSM8K slice and MATH-500 slice are scored for the base model and for an adapter. Accuracy and think-initiation are stored as separate keys.
  • BENCH-02: A held-out Vox slice with checkable answers is scored the same way. Its items are not the fixed three-line Plan / Syntax / Implementation template.
  • BENCH-03: A missing model or a failed load writes no passing score. The report records how many items were scored.
  • GATE-01: Serve refuses an adapter when the collateral report is missing, or when accuracy or think-initiation on the lane benches drops past the configured threshold.
  • GATE-02: The report says these benches are slices, so the 5% relative bar is not read as a full GSM8K or MATH-500 result.
  • SIZE-01: The ladder pins all six Qwen3 dense sizes (0.6B, 1.7B, 4B, 8B, 14B, 32B), each with a real Hugging Face commit and a license. A rung whose memory floor has not been measured on hardware says so.
  • SIZE-02: One selector reads current free memory (Metal live budget, CUDA free VRAM) and titrates to the largest ladder size whose predicted footprint fits, stepping down if free memory drops before load. The hub and its spokes are picked together: one base size, with each spoke’s base and preset following it. An explicit size overrides the pick, and a size that does not fit is refused rather than silently shrunk. Training, local serve, and chat all use this selector, replacing the fixed tiers in auto_select.rs.
  • MESH-01: Node heartbeats carry current free accelerator memory. Across a mesh, the selector picks the largest size that fits on some node, routes the job there, and titrates down when no node fits. A stale or missing reading is not treated as free memory.
  • SIZE-03: Each size that fits this Mac is QLoRA-trained on Metal with the lane prefix, and its adapter manifest names its pinned base. A size that does not fit is recorded as not trained, with the measured memory.

Harness before/after (HARN, BENCH) — added 2026-10-26

Section titled “Harness before/after (HARN, BENCH) — added 2026-10-26”
  • HARN-01: The harness serves a chosen size’s base or adapter through the existing serve path, behind the collateral gate.
  • BENCH-04: For every trained size, one report holds before (base) and after (adapter) scores: reasoning accuracy and think-initiation on the three slices, and an intelligence score on a codegen or agent bench, each with n. The milestone is not complete until at least two sizes have real trained scores.

Calibrated decisions + ChatARC (DEC, CAT) — added 2026-10-28

Section titled “Calibrated decisions + ChatARC (DEC, CAT) — added 2026-10-28”
  • DEC-01: A versioned turn decision pack runs before build_selection_request and patches only fields that function does not already derive from clutch/risk: task, complexity, and prefer_local when the caller has not set them. It may set allow_free_in_performance_mode only when clutch is unset (clutch Free already sets that flag; Performance must not be overridden). The pack never emits model ids. allow_free_in_performance_mode only lets :free specs compete in the scorer under Performance — it does not invoke PreferFree or the free_floor slug list (OPENROUTER_FREE_FALLBACK_MODELS).
  • DEC-02: Post-tool decisions extend existing control points, not a new loop: evaluate_post_tool_batch_hook, evaluate_stop_hook, and apply_repair_escalation_to_config (already builds SelectionIntent::repair_loop with prefer_local + allow_free_in_performance_mode). Low model_still_ok re-enters that escalation path. draft_pr is not a pack directive unless an existing PR tool is already in the ChatARC shortlist.
  • DEC-03: Flag-off identity tests cover build_selection_request, resolve_mens_fast_apply_target, consult_oracle_model_advisory, and apply_repair_escalation_to_config — not only lifecycle constructors.
  • DEC-04: Selective-prediction eval (accuracy, ECE, coverage@error) on turn-pack fixtures; optional OpenRouter Jev is gated by inference_privacy_local_only_from_env; no MENS chat distill; no unused facade. Pack must not fork SIZE-02 / MESH-01 memory selection.
  • CAT-01: ChatARC composes existing discovery — skill roots (vox skill discover / skill_catalog), MCP tool lists (including deferred catalog hints), and command_catalog::build_catalog — into one shortlist index. New skills, MCP tools, and clap commands appear on the next discovery pass without a new closed-world enum. Do not build a third registry.
  • CAT-02: Calibrated Choice over a lexical top-K (K≤10, include none) is consumed by skill activation, tool offering, or command hinting. Fail open to today’s lexical/deferred behavior. External skill install already gates on get_skill_reliability; ChatARC ranking may read that prior but must not replace the install gate.

Starlight MDX Conversions & Ingest Parity (MDX-INGEST, MDX-CONV) — added 2026-11-01

Section titled “Starlight MDX Conversions & Ingest Parity (MDX-INGEST, MDX-CONV) — added 2026-11-01”
  • MDX-INGEST-01: vox-kb-facets::summary (is_summary_marker_line, inspect_summary, strip_summary_blocks) accepts both HTML (<!-- kb:summary --> / <!-- /kb:summary -->) and MDX JSX ({/* kb:summary */} / {/* /kb:summary */}) markers and ignores top-level ESM import / export lines between # H1 and the summary block.
  • MDX-INGEST-02: vox-search::kb_ids::is_kb_corpus_path, doc_title, and ingest::ingest_markdown_tree index both .md and .mdx files under docs/src/.
  • MDX-INGEST-03: vox-search::library::chunk (first_paragraph, chunk_document) and MENS corpus extraction strip top-level ESM import/export statements, {/* ... */} JSX comments, and Starlight structural JSX tags (<Tabs>, <TabItem>, <Steps>, <CardGrid>, <Card>, <LinkCard>, <Aside>, <Badge>) while preserving inner prose and fenced code blocks.
  • MDX-CONV-01: Refactor docs/src/index.mdx to replace bespoke inline-styled HTML grids/buttons with Starlight components (<CardGrid>, <Card>, <LinkButton>) while keeping SYNCED_BLOCKS and VoxPlayground.astro intact.
  • MDX-CONV-02: Convert high-value onboarding and tutorial pages under docs/src/tutorials/ (tut-getting-started, full-stack/workflow/agent tutorials) to .mdx using <Steps>, <Tabs> (showing .vox alongside generated SQL/Rust/TSX), and <Aside>, updating internal link references and kb-facet-backlog.v1.yaml paths where applicable without expanding backlog debt.
  • MDX-CONV-03: Add a remark/Starlight code-fence or component capability for flagship language reference pages (docs/src/reference/ref-syntax, etc.) while keeping prose-heavy architecture SSOTs, ADRs, research docs, and *.generated.md files in CommonMark .md.
  • Swap the pinned Qwen3-8B base for a newer checkpoint, only after this before/after exists.
  • Try a new training technique (replay, self-distill, KL anchor) only if the gate shows a drop the lane prefix does not fix.
FeatureReason
Swapping the default baseQwen/Qwen3-8B stays the default. Other Qwen3 sizes are added as selectable rungs, not as a new default.
Oct 2026 training recipes and the Unsloth 75% mixThe 75% figure is a vendor heuristic. Policy and measurement come first.
Re-scoring adapters trained before 2026-10-26 as if they used the new prefixThose runs did not.
Full GSM8K and MATH-500 on every serveToo slow for the gate. The checked-in slices are the bar, and they are labeled as slices.
Zero-shot System One model-id Choice replacing selectEmpirically fails (arxiv 2610.02267); pack patches intent fields only.
Permanent unused System One facadeOperator rule: every decision type has a required agent_loop/select consumer.
RequirementPhaseStatus
LANE-01Phase 313Complete
LANE-02Phase 313Complete
BENCH-01Phase 316Complete
BENCH-02Phase 314Complete
BENCH-03Phase 314Complete
SIZE-01Phase 317Complete
SIZE-02Phase 318Complete
MESH-01Phase 319Complete
SIZE-03Phase 320Complete
HARN-01Phase 321Complete
BENCH-04Phase 321Complete
DEC-01Phase 322Complete
DEC-02Phase 322Complete
DEC-03Phase 322Complete
DEC-04Phase 322Complete
CAT-01Phase 322Complete
CAT-02Phase 322Complete
MDX-INGEST-01Phase 323Complete
MDX-INGEST-02Phase 323Complete
MDX-INGEST-03Phase 323Complete
MDX-CONV-01Phase 323Complete
MDX-CONV-02Phase 323Complete
MDX-CONV-03Phase 323Complete
GATE-01Phase 315Complete
GATE-02Phase 315Complete

Coverage: v5.6 requirements mapped to phases 313–323; DEC/CAT added 2026-10-28, MDX-INGEST/MDX-CONV added 2026-11-01 → 0 unmapped


Prior milestones (archived headers live below)

Section titled “Prior milestones (archived headers live below)”

Requirements: Vox Milestone v5.5 (Phases 307–312) — T3 CI/TOESTUB Deep Enforcement

Section titled “Requirements: Vox Milestone v5.5 (Phases 307–312) — T3 CI/TOESTUB Deep Enforcement”

Defined: 2026-10-25 Core Value (v5.5): Go deeper than v5.4’s change-gated CI / knip / thin-transport / path-label fingerprint by extracting t3code’s next tier — contributor vouch trust, privileged preview trust-split, live transfer-budget measurement + job-matrix outputs, wall-clock/real-wait/test-in-loop/frame-wait detectors, host-runtime + schema-hoist + DOM-env discipline, and true sidecar fingerprint hashing — without redoing shipped v5.4 gates or Effect-only oxlint rules. Evidence: ~/dev/t3code (pr-vouch.yml, VOUCHED.td, relay-preview{,-cleanup}.yml, ci.yml transfer artifacts, ci-changes.cjs, mobile-fingerprint-check.yml, oxlint-plugin-t3code/rules/{no-wall-clock,no-real-time-wait,no-test-in-loop,no-global-process-runtime,no-inline-schema-compile,no-dom-test-environment,no-frame-waits}*); graph contracts/reports/t3-ecosystem-surface-graph.v1.json; store report docs/t3-deeper-extraction-v5.5.md.

v5.5 Requirements (0/24 Complete Across Phases 307–312)

Section titled “v5.5 Requirements (0/24 Complete Across Phases 307–312)”

Phase 307: PR Vouch & Contributor Trust Gate (T3-TRUST)

Section titled “Phase 307: PR Vouch & Contributor Trust Gate (T3-TRUST)”
  • T3-TRUST-01: Add .github/VOUCHED.td (or contracts/ci/vouched.v1.yaml) SSOT for trusted/denounced GitHub logins, documented in AGENTS/contributors.
  • T3-TRUST-02: Add .github/workflows/pr-vouch.yml using mitchellh/vouch (or documented equivalent) on pull_request_target + /recheck-vouch comments; manage vouch:trusted|unvouched|denounced labels.
  • T3-TRUST-03: Wire required/advisory context so unvouched authors are visibly labeled without granting fork PRs write beyond label sync (match t3code trust model).
  • T3-TRUST-04: Mutation tests: vouch status → label transitions; denounced blocks merge guidance; VOUCHED.td parse fails closed on syntax errors.

Phase 308: Preview/Privileged Workflow Trust-Split Policy (T3-PREVIEW)

Section titled “Phase 308: Preview/Privileged Workflow Trust-Split Policy (T3-PREVIEW)”
  • T3-PREVIEW-01: Author docs/src/ci/privileged-preview-trust-split.md capturing t3code relay pattern: deploy may run PR code only under environment approval; cleanup uses pull_request_target + default-branch checkout and never executes PR code.
  • T3-PREVIEW-02: Add vox ci preview-trust-audit (or workflow-policy-guard extension) that flags new workflows which combine pull_request_target + PR-ref checkout + secrets without an allowlisted trust-split shape.
  • T3-PREVIEW-03: Enumerate existing Vox privileged workflows (if any) against the policy; file suppressions with owner+reason only when intentional.
  • T3-PREVIEW-04: Contract/tests: intentional mutation introducing unsafe pull_request_target+PR-code+secret combo fails the audit.

Phase 309: Live Transfer-Budget Measurement & Job-Matrix Change Detector (T3-LIVE-CI)

Section titled “Phase 309: Live Transfer-Budget Measurement & Job-Matrix Change Detector (T3-LIVE-CI)”
  • T3-LIVE-CI-01: Replace fixture-only transfer-budget-report CI path with artifact emission from real vox-orchestrator-mcp transfer-budget tests (or nextest junit/sidecar JSON), uploaded as thread-transfer-results-shaped artifact.
  • T3-LIVE-CI-02: Update thread-transfer-report.yml to prefer live CI artifact over committed fixture; keep fixture as ceiling baseline only; honest source field.
  • T3-LIVE-CI-03: Extend check-changed / new vox ci ci-changes to emit per-job booleans (fmt/clippy/ui/docs/…) from path owners — t3code ci-changes.cjs analog — and document wiring into PR jobs.
  • T3-LIVE-CI-04: Ratchet: CI fails when live sample exceeds ceilings or when required transfer artifact is missing on non-inert PRs.

Phase 310: TOESTUB Test-Discipline Detectors (Wall-Clock, Real-Wait, Loop, Frame) (T3-TEST-DET)

Section titled “Phase 310: TOESTUB Test-Discipline Detectors (Wall-Clock, Real-Wait, Loop, Frame) (T3-TEST-DET)”
  • T3-TEST-DET-01: Extend test_clock_and_skip (or new detector) to flag wall-clock reads in tests: Instant::now, SystemTime::now, Date.now, performance.now (t3code no-wall-clock-in-tests).
  • T3-TEST-DET-02: Add real-time wait detector for async timers / tokio::time::sleep / Promise timers in tests without TestClock/mock time (t3code no-real-time-wait-in-tests).
  • T3-TEST-DET-03: Add no-test-in-loop analog: #[test]/it(/test( nested under for/for-of in test files; prefer parameterized tables.
  • T3-TEST-DET-04: Promote no-frame-waits-in-browser-tests from deferred: fail on waitForTimeout / bare page.waitForTimeout in Playwright e2e under crates/vox-gui/ui/e2e.

Phase 311: Host-Runtime Boundary, Schema Hoist, Knip Dual & DOM-Env Discipline (T3-HOST-SCHEMA)

Section titled “Phase 311: Host-Runtime Boundary, Schema Hoist, Knip Dual & DOM-Env Discipline (T3-HOST-SCHEMA)”
  • T3-HOST-SCHEMA-01: New detector banning direct host platform/arch probes outside allowlisted host crates (std::env::consts::{OS,ARCH}, process.platform/process.arch) — t3code no-global-process-runtime analog.
  • T3-HOST-SCHEMA-02: New detector/hoist lint for hot-path inline schema compile/parse (serde Schema / vox-schema generate call sites rebuilt inside loops/handlers) — t3code no-inline-schema-compile analog.
  • T3-HOST-SCHEMA-03: Deepen knip: pin local knip version in vox-gui/ui, dual files+dependencies then exports pass; document schema/unused-export preprocessor backlog.
  • T3-HOST-SCHEMA-04: Ban per-file @vitest-environment / jsdom imports in unit tests; require project-level env config (t3code no-dom-test-environment).

Phase 312: Sidecar Fingerprint Hash Compare, Surface Graph Regen & v5.5 Scorecard (T3-FP-GRAPH)

Section titled “Phase 312: Sidecar Fingerprint Hash Compare, Surface Graph Regen & v5.5 Scorecard (T3-FP-GRAPH)”
  • T3-FP-GRAPH-01: Upgrade gui-sidecar-fingerprint.yml from path-diff labeling to content hash of native/sidecar inputs (Cargo.lock subset, tauri.conf, sidecar binary manifest) comparing PR head vs base — t3code expo fingerprint:generate analog.
  • T3-FP-GRAPH-02: Repair scripts/t3-surface-inventory.vox compile blockers; regenerate contracts/reports/t3-ecosystem-surface-graph.v1.json from current ~/dev clone SHAs.
  • T3-FP-GRAPH-03: Publish contracts/reports/t3-vox-ci-enforcement-scorecard.v1.json v5.5 rows for TRUST/PREVIEW/LIVE-CI/TEST-DET/HOST-SCHEMA/FP-GRAPH gems.
  • T3-FP-GRAPH-04: Docs: architecture closure note + oxlint mapping ledger updates for newly shipped rules; mark prior Partials resolved or still deferred with owners.
FeatureReason
Re-shipping v5.4 check-changed / knip-gui / thin-transport / path-label fingerprintAlready complete; deepen only
Effect-TS oxlint (prefer-catch-tags, prefer-effect-fn, require-disposable-render, …)No Vox Effect runtime
Mobile Hermes / Uniwind / glyph / native ktlint-swiftlint toolchainNo Vox RN/Expo mobile app yet
Em-dash / low-value comment style lintsNoise; keep deferred
CSS no-unscoped-has / outset indicators / scroll gutterGUI polish backlog
RequirementPhaseStatus
T3-TRUST-01..04Phase 307Pending
T3-PREVIEW-01..04Phase 308Pending
T3-LIVE-CI-01..04Phase 309Pending
T3-TEST-DET-01..04Phase 310Pending
T3-HOST-SCHEMA-01..04Phase 311Pending
T3-FP-GRAPH-01..04Phase 312Pending

Coverage: 24 v5.5 requirements → 6 phases → 0 unmapped


Prior milestones (archived headers live below)

Section titled “Prior milestones (archived headers live below)”

Requirements: Vox Milestone v5.4 (Phases 301–306) — T3 CI/TOESTUB Enforcement Deep-Extraction & Harness Policy Hardening

Section titled “Requirements: Vox Milestone v5.4 (Phases 301–306) — T3 CI/TOESTUB Enforcement Deep-Extraction & Harness Policy Hardening”

Defined: 2026-10-25 Core Value (v5.4): Make Vox’s CI/CD, TOESTUB/vox-code-audit, and agent-ops policy surface as hard as pingdotgg/t3code’s oxlint+CI matrix for the gems still missing after v3.9 and Waves 2–5 runtime extractions — change-gated checks, transfer-budget reporting, knip/PR hygiene, kill-safety + multi-surface checklists, thin-transport detectors, and fingerprint/cache/graph closure — without re-extracting shipped router/harness features (VOX-ROUTER-T3-*, VOX-HARNESS-T3-*, Wave-3 TOESTUB detectors). Evidence: ~/dev/t3code (scripts/check-changed.ts, oxlint-plugin-t3code 29 rules, .github/workflows/{pr-size,pr-vouch,thread-transfer-report,mobile-fingerprint-check}.yml, knip.jsonc, AGENTS.md); graph contracts/reports/t3-ecosystem-surface-graph.v1.json; audits in agent store internal/t3*-2026-10-25.md.


v5.4 Requirements (24/24 Complete Across Phases 301–306)

Section titled “v5.4 Requirements (24/24 Complete Across Phases 301–306)”

1. Phase 301: Change-Gated CI Path Map & vox ci check-changed (T3-CI-CHANGED)

Section titled “1. Phase 301: Change-Gated CI Path Map & vox ci check-changed (T3-CI-CHANGED)”
  • T3-CI-CHANGED-01: Port t3code’s affected-path decision table (INERT paths + EXTRA_OWNERS / package ownership map) into a Vox contract (contracts/ci/changed-path-owners.v1.yaml or equivalent) covering Rust crates, crates/vox-gui/ui, workflows, and contracts.
  • T3-CI-CHANGED-02: Ship vox ci check-changed (or scripts/check-changed.vox) that diffs against merge-base with origin/main, runs only the fmt/lint/typecheck/tests mapped to changed owners, and caches a content-addressed pass key like t3code check:changed.
  • T3-CI-CHANGED-03: Wire change-gating into GitHub PR linux/ui jobs so inert doc-only / planning-only diffs skip heavy cargo/playwright work without weakening required contexts.
  • T3-CI-CHANGED-04: Document the owner map + local invocation in docs/src/ci/runner-contract.md and add a unit/integration fixture proving an inert path set exits 0 with zero cargo invocations.

2. Phase 302: Transfer-Budget Artifacts, PR Comments & Weighted Test Sharding (T3-CI-BUDGET)

Section titled “2. Phase 302: Transfer-Budget Artifacts, PR Comments & Weighted Test Sharding (T3-CI-BUDGET)”
  • T3-CI-BUDGET-01: Emit a machine-readable transfer/turn-budget CI artifact from existing vox-orchestrator-mcp transfer-budget tests (promote beyond unit-only) comparable to t3code thread-transfer-results.
  • T3-CI-BUDGET-02: Add a trusted-default-branch PR comment publisher (workflow_run pattern from t3code thread-transfer-report.yml) that never executes PR code when posting budget deltas vs main baseline.
  • T3-CI-BUDGET-03: Introduce weighted duration test sharding (seeded weights file akin to t3code shardWeights.json) for nextest/vox-gui e2e partitions so slow suites stop dominating one shard.
  • T3-CI-BUDGET-04: Publish before/after shard-balance + budget-delta report under contracts/reports/ and gate regressions with a ratchet.

3. Phase 303: Knip Dual Gate, PR Size Labels & Evidence-Asset Ban (T3-CI-HYGIENE)

Section titled “3. Phase 303: Knip Dual Gate, PR Size Labels & Evidence-Asset Ban (T3-CI-HYGIENE)”
  • T3-CI-HYGIENE-01: Add knip (or equivalent unused-export) dual gate for crates/vox-gui/ui with workspace schema mirroring t3code knip.jsonc (exported types off, entry allowlist, ignoreBinaries).
  • T3-CI-HYGIENE-02: Ship PR size labeler (XS–XXL) that counts effective non-test LOC (exclude **/*.{test,spec}.*, **/tests/**, e2e fixtures) via pull_request_target + managed labels.
  • T3-CI-HYGIENE-03: Ban committing PR evidence / screenshot / review-bundle binary assets outside approved artifact paths; enforce via vox ci detector or git attribute + CI check (t3code pattern: no screenshot spam in PRs).
  • T3-CI-HYGIENE-04: Add CONTRIBUTING/AGENTS guidance for size labels + evidence paths; verify with intentional mutation tests that each gate fails closed.

4. Phase 304: Agent-Ops Kill-Safety, Hit-Every-Surface Checklist & Worktree Isolation (T3-AGENT-OPS)

Section titled “4. Phase 304: Agent-Ops Kill-Safety, Hit-Every-Surface Checklist & Worktree Isolation (T3-AGENT-OPS)”
  • T3-AGENT-OPS-01: Codify t3code’s kill-safety triad in AGENTS.md / docs/agents/governance.md: never pattern-kill; never write the live userdata/home; never bake localhost origins into bundles — with Vox-specific paths (VOX_* homes, Tauri/Vite proxies).
  • T3-AGENT-OPS-02: Add a mandatory “hit every surface” checklist for harness/GUI changes (entry points, clients, providers/adapters, MCP/agent reachability, contracts, reverse states, connection modes, docs) and a vox ci/vox doctor advisory that surfaces when a PR touches one surface class without acknowledging others.
  • T3-AGENT-OPS-03: Worktree setup markers + isolated home (t3code worktree setup script pattern): each git worktree gets a stamped setup marker and isolated config/home so agents cannot clobber the primary install.
  • T3-AGENT-OPS-04: Suppression / # toestub-ignore / lint-disable PRs require human review label or CODEOWNERS gate (t3code require-suppression-reason + vouch culture) before merge.

5. Phase 305: TOESTUB Thin-Transport, Suppression Review Gate & Snapshot Interning (T3-TOESTUB-ENF)

Section titled “5. Phase 305: TOESTUB Thin-Transport, Suppression Review Gate & Snapshot Interning (T3-TOESTUB-ENF)”
  • T3-TOESTUB-ENF-01: New vox-code-audit detector for thin-transport / no-rpc-permission-bypass beyond MCP (t3code no-rpc-permission-bypass): raw RPC/client guard installs only in allowlisted boundary files.
  • T3-TOESTUB-ENF-02: Extend suppression detectors so every ignore carries a linked reason + issue, and CI fails on unreasoned suppressions introduced in the PR diff (ratchet on Wave-3 unreasoned_suppression).
  • T3-TOESTUB-ENF-03: Wire snapshot / message-ID interning leftover from Wave 2 into the live harness path with tests proving duplicate IDs collapse.
  • T3-TOESTUB-ENF-04: Map remaining high-value oxlint-plugin-t3code rules not yet covered (no-low-value-comments, no-frame-waits-in-browser-tests, no-polling-loop-in-tests, require-disposable-render analogs) into TOESTUB rules or explicit Out-of-Scope ledger rows with owners.

6. Phase 306: Tauri Fingerprint Advisory, GUI Cache Layers, Surface Graph Refresh & Scorecard (T3-CI-CLOSE)

Section titled “6. Phase 306: Tauri Fingerprint Advisory, GUI Cache Layers, Surface Graph Refresh & Scorecard (T3-CI-CLOSE)”
  • T3-CI-CLOSE-01: Advisory Tauri/native fingerprint (or crates/vox-gui sidecar/native input hash) PR label when a change would break OTA/sidecar reuse — modeled on t3code mobile-fingerprint-check.yml (always green; label is the signal).
  • T3-CI-CLOSE-02: Layer Vite+/pnpm caches for GUI CI jobs under the main-only save policy (vox ci cache-key-lint compliant) so ui jobs restore node+vite artifacts without poisoning PR cache scope.
  • T3-CI-CLOSE-03: Repair scripts/t3-surface-inventory.vox compile blockers; regenerate contracts/reports/t3-ecosystem-surface-graph.v1.json from current ~/dev/{t3code,t3router,pi-t3chat,thom-chat,helioschat} SHAs.
  • T3-CI-CLOSE-04: Publish contracts/reports/t3-vox-ci-enforcement-scorecard.v1.json + architecture note listing each gem as Shipped / Partial / Deferred with file anchors; update extraction ledger without duplicating v3.9 runtime rows.
FeatureReason
Re-implementing ModelOperationalStatus / resumable streams / lazy MCP / prompt enhanceAlready shipped in v3.9 Phases 208–209
Re-landing Wave 2–5 runtime domain enginesShipped through v5.1; this milestone is CI/policy only
Porting Electron/Expo mobile surfaces from t3codeADR-045 locks Tauri 2; fingerprint advisory is the adapted gem
Full 29-rule oxlint-plugin verbatimMap high-value rules into TOESTUB; Effect-TS-specific rules stay deferred
Replacing nextest with t3code vitest sharding wholesaleAdopt weighted partition idea inside existing nextest/ui jobs
RequirementPhaseStatus
T3-CI-CHANGED-01..04Phase 301Complete
T3-CI-BUDGET-01..04Phase 302Complete
T3-CI-HYGIENE-01..04Phase 303Complete
T3-AGENT-OPS-01..04Phase 304Complete
T3-TOESTUB-ENF-01..04Phase 305Complete
T3-CI-CLOSE-01..04Phase 306Complete

Coverage: 24 v5.4 requirements → 6 phases → 0 unmapped


Requirements: Vox Milestones v5.4 (Phases 301–306), v5.3 (Phases 295–300), v5.2 (Phases 289–294), v5.1 (Phases 283–288), v5.0 (Phases 277–282), v4.9 (Phases 271–276) & v4.8 (Phases 265–270)

Section titled “Requirements: Vox Milestones v5.4 (Phases 301–306), v5.3 (Phases 295–300), v5.2 (Phases 289–294), v5.1 (Phases 283–288), v5.0 (Phases 277–282), v4.9 (Phases 271–276) & v4.8 (Phases 265–270)”

Defined: 2026-10-25 Core Value (v5.3 — Photorealistic Edge-Softening, Continuous Monumental Aqueduct-to-Sewer Architecture, Sub-Surface Ground Integration & CV Flywheel Score Maximization): Eliminate sharp diamond coastal cutouts, saw-tooth 2D wall crenellations, overlapping street alpha seams, screen-space rooftop-crossing lines, and 1px PBR Laplacian pixel chatter by introducing feathered radial coastal shoals, smooth macro-shaded PBR stone/marble/water synthesis, true isometric molded curtain walls, continuous 3D Aqua Claudia aqueduct bridges, beveled ground-plane hydraulic/sewer conduits (quadraticCurveTo elbow fillets), halo-backed geometric activity particles, and positive CV noise reduction (noiseFloor <= 5.0, visualAfterScore >= 0.945). Architecture Spec (v5.3): docs/src/architecture/urbs-photorealistic-edge-softening-and-cv-maximization-spec-2026.md Core Value (v5.2 — Smooth Physically-Grounded Lighting, High-Detail Vitruvian Architecture & Grounds, Integrated Roman Hydraulic/Sewer Grid & Animated Shape+Color Activity Conduits): Eliminate alpha-overlay lighting artifacts and repeating water tile seams, enrich terrace ground architecture (Cardo/Decumanus street grid, Opus Sectile marble forum plazas, vaulted Substructio cliff retaining arcades) and T0–T3 building massing (rusticated ground-floor Fornices arcades, inter-story Marcapiano belt cornices, atrium Impluvium rainwater basins, and rooftop Acroteria + hypocaust chimneys), integrate the AQVAE MCP aqueduct into a city-wide SimCity-style Roman hydraulic supply (Castellum Divisorium, pressurized Fistulae pipes, bronze sluice valves) and Cloaca Maxima sewer/drainage trench network (hydraulicNetwork.ts), and animate live activities in progress using multi-channel Color + Geometric Shape flow tokens. Architecture Spec (v5.2): docs/src/architecture/urbs-hydraulic-plumbing-and-detailed-architecture-spec-2026.md Core Value (v5.1 — T3 Ecosystem Wave 5 Deep Review & End-to-End Parity Closure): Eliminate every remaining split-brain bug, un-wired domain engine, synthetic fallback, and static-analysis violation uncovered by the Wave 5 adversarial review of vox-orchestrator, vox-orchestrator-mcp, vox-code-audit, and vox-gui against the six T3 reference repositories (t3code, t3router, pi-t3chat, NotT3Chat, t3-chat-tomdoestech, and t3-cloneathon). Architecture Spec (v5.1): docs/src/architecture/t3-vox-wave5-deep-review-and-parity-closure-2026.md Core Value (v5.0 — Photorealistic Vitruvian Material, Depth-Shading, Atmospheric Lighting & FX Engine): Transform VRBS (worldRenderer.ts, pbrMaterials.ts, lightingAndFx.ts) from flat vector polygons with cartoon strokes into a photorealistic 2.5D Vitruvian architectural diorama featuring procedural natural stone/terracotta/bronze surface textures, projected directional twilight cast shadows, vertical ambient occlusion gradients, specular chamfer highlights, bathymetric coastal water + surf foam, crepuscular god-rays, elevation mist, additive brazier/forge GI pools, live ember/smoke/spray particle FX, and diegetic cliff-apron architrave plaques. Architecture Spec (v5.0): docs/src/architecture/urbs-photorealistic-lighting-and-materials-spec-2026.md Core Value (v4.9 — Vitruvian Roman Tactical Developer Controller): Elevate VRBS from an architectural observability view into a zero-hop interactive tactical developer controller across 6 high-leverage developer upgrades (Speculum Codicis Inline Diff/Diagnostic Loupe, Concursus Legionum Multi-Agent Collision Cone Radar, Pons Foederis Clickable Viaduct Contract & Layer-Inversion Inspector, Clausura Ferrea Hard Agent Scope Quarantine Fencing in agent_loop.rs, Via Temporis Interactive Milestone Road Turn Time-Scrubber, and Tabula Praetoria ⌘M Split-Dock Tactical Map Workbench Integration) with zero paper code, zero mock fallbacks, and full Tauri/MCP/Git plumbing wiring. Architecture Spec (v4.9): docs/src/architecture/urbs-tactical-developer-controller-spec-2026.md Core Value (v4.8 — T3 Wave 4 Live Pipeline End-to-End Closure): Ensure every T3 Wave 1–3 domain primitive (salvage_and_stream, UserRuleRegistry, interpolate_system_prompt_variables, context_sanitizer, BatteryCostLedger, VoxIdAllocatorV2, ResponseQualityAnalyzer, CommandOutputHub, GitPlumbingCheckpointStore, ResumableTurnStreamRegistry, ThreadRunQueue, ConsensusOrchestrator, ContextHandoffService, GuestShareService, ExternalSessionImporter, WorkspaceLeaseMap, WebhookDedupeAndRateGate, and t3Wave3Rpc.ts) is wired end-to-end on the live production execution path with zero dropped tool calls, zero bypassed guards, and zero silent mock fallbacks when connected to the Tauri/MCP backend. Architecture Spec (v4.8): docs/src/architecture/t3-vox-wave4-gap-closure-and-live-pipeline-audit-2026.md


v5.3 Requirements (24/24 Complete Across Phases 295–300)

Section titled “v5.3 Requirements (24/24 Complete Across Phases 295–300)”

1. Phase 295: Feathered Coastal Bathymetry, Smooth Macro-Shaded PBR Materials & Laplacian Noise Suppression (URBS-EDGE-PBR)

Section titled “1. Phase 295: Feathered Coastal Bathymetry, Smooth Macro-Shaded PBR Materials & Laplacian Noise Suppression (URBS-EDGE-PBR)”
  • URBS-EDGE-PBR-01: Replace the hard 4-vertex polygon coastal shelf and cliff shadow cutouts in paintFullBleedRomanLandscape (worldRenderer.ts) with multi-stop feathered elliptical radial gradients (rgba(14, 116, 144, 0.34) → rgba(6, 182, 212, 0.14) → rgba(5, 16, 27, 0)) and soft organic coastal foam crescents around cliff bases.
  • URBS-EDGE-PBR-02: Upgrade buildTravertineTile, buildTerracottaTile, buildPlazaCobbleTile, and buildCliffTile in pbrMaterials.ts to use smooth bilinear/radial macro-shaded stone blocks and soft mortar transitions instead of 1px high-contrast lines that inflate the 4-neighbor Laplacian noiseFloor.
  • URBS-EDGE-PBR-03: Add full-canvas diagonal isometric ocean swell and bathymetric light ribbons in paintFullBleedRomanLandscape (worldRenderer.ts) so the sea displays natural macro depth without 64px tile repetition or flat-region pixel chatter.
  • URBS-EDGE-PBR-04: Upgrade drawIsoBox and drawIsoPitchedRoof (worldRenderer.ts) to replace harsh #1a1613 cartoon ink outlines with soft tonal masonry/terracotta edge bevels and warm sunlit ridge highlights.

2. Phase 296: True Isometric Molded Curtain Walls, Seamless Via Silicea Street Grid & Coffered Opus Sectile Forums (URBS-TERRACE-CRAFT)

Section titled “2. Phase 296: True Isometric Molded Curtain Walls, Seamless Via Silicea Street Grid & Coffered Opus Sectile Forums (URBS-TERRACE-CRAFT)”
  • URBS-TERRACE-CRAFT-01: Replace the jagged axis-aligned 2D ctx.fillRect merlons in drawDistrictCurtainWall (worldRenderer.ts) with true 2:1 isometric molded travertine parapet capstones (Corona), recessed arrow-loops (Ballistaria), and 3D pyramidal-roofed corner bastions.
  • URBS-TERRACE-CRAFT-02: Refactor drawDistrictGroundDetails (worldRenderer.ts) so the Cardo Maximus and Decumanus Maximus render as a unified recessed stone cross-plaza (Via Silicea) with zero overlapping alpha seams, continuous 3D travertine curbstones (Crepido), and central intersection drainage grates.
  • URBS-TERRACE-CRAFT-03: Upgrade the central district Forum in drawDistrictGroundDetails (worldRenderer.ts) with a recessed travertine border step, concentric porphyry/serpentine marble geometry, and 4 corner Corinthian peristyle columns (Columnae) casting soft ground shadows.
  • URBS-TERRACE-CRAFT-04: Upgrade the terrace cliff rim in paintFullBleedRomanLandscape (worldRenderer.ts) with a continuous 3D overhanging travertine cornice (Geison) that casts a soft drop shadow down the Substructio arcade wall.

3. Phase 297: Cylindrical & Coffered 3D Architectural Realism for Wonders & T0–T3 Insulae (URBS-ARCH-REALISM)

Section titled “3. Phase 297: Cylindrical & Coffered 3D Architectural Realism for Wonders & T0–T3 Insulae (URBS-ARCH-REALISM)”
  • URBS-ARCH-REALISM-01: Upgrade drawIsoBedrockHarborVault and drawIsoPantheonAcropolis (worldRenderer.ts) with smooth multi-stop cylindrical normal-shaded wall gradients, recessed coffered half-dome ribs (Lacunaria), and soft rim highlights.
  • URBS-ARCH-REALISM-02: Upgrade drawIsoBox windows (worldRenderer.ts) from flat 2D fillRect squares to isometric-skewed recessed stone window reveals with warm golden-hour interior radial glow on active/lit buildings.
  • URBS-ARCH-REALISM-03: Enrich T2 Basilica and T3 Temple buildings in drawIsoFileBuilding (worldRenderer.ts) with a 2-stepped stone stylobate base, shaded portico columns, and a recessed triangular pediment tympanum with a bronze relief boss.
  • URBS-ARCH-REALISM-04: Upgrade peripheral landmarks (drawAqueductComplex, drawCastrumFortressComplex, drawPortusHarborComplex, drawIsoMilestoneRoadAndPortcullis in worldRenderer.ts) to use 3D isometric masonry piers, arched stone harbor moles, and smooth water/torch reflections instead of flat 2D fillRect primitives.

4. Phase 298: Continuous 3D Monumental Aqua Claudia Viaduct & Ground-Integrated Beveled Hydraulic/Sewer Grid (URBS-PLUMBING-3D)

Section titled “4. Phase 298: Continuous 3D Monumental Aqua Claudia Viaduct & Ground-Integrated Beveled Hydraulic/Sewer Grid (URBS-PLUMBING-3D)”
  • URBS-PLUMBING-3D-01: Upgrade drawAqueductComplex (worldRenderer.ts) and drawRomanHydraulicInfrastructure (hydraulicNetwork.ts) so AQVAE MCP forms a continuous 3D isometric stone arcade viaduct (Aqua Claudia) with arched piers, spandrel masonry, and an open illuminated water channel (Specus) connecting directly into the Acropolis Castellum Divisorium.
  • URBS-PLUMBING-3D-02: Upgrade drawConduitTrack in hydraulicNetwork.ts to render smooth rounded isometric bends (quadraticCurveTo elbow fillets), 3D cylindrical bronze/travertine pipe shading, and soft recessed ground shadow trenches.
  • URBS-PLUMBING-3D-03: Route blast-radius and dependency hydraulic/sewer conduits on the terrace ground / viaduct layer beneath 3D buildings (Layer 0.85 in WorldRenderer.paint) instead of painting screen-space lines across building rooftops in Layer 6.
  • URBS-PLUMBING-3D-04: Render 3D stepped stone water cascades (Cataracta) where hydraulic conduits drop between L3 → L2 → L1 → L0 elevation terraces, and vaulted stone Cloaca Maxima portals at cliff bases.

5. Phase 299: Illuminated Halo-Backed Shape+Color Activity Particles & Interactive Conduit Semiotics (URBS-FLOW-SEMIOTICS)

Section titled “5. Phase 299: Illuminated Halo-Backed Shape+Color Activity Particles & Interactive Conduit Semiotics (URBS-FLOW-SEMIOTICS)”
  • URBS-FLOW-SEMIOTICS-01: Enhance drawChevronWaveParticle, drawDiamondIngotParticle, drawWarningTriangleParticle, and drawLaurelSealParticle (hydraulicNetwork.ts) with soft radial glow halos and tapered comet tails for effortless scannability and smooth anti-aliased edges.
  • URBS-FLOW-SEMIOTICS-02: Scale conduit track gauge, inner stream luminance, and particle cadence in hydraulicNetwork.ts proportionally to live activity intensity (MCP server health, git diff churn lines, diagnostic error count, CI runner count).
  • URBS-FLOW-SEMIOTICS-03: Render glowing bronze manifold rings (Epistomia) at district street entry/exit ports in drawScreenSpaceHydraulicOverlay (hydraulicNetwork.ts) so developers can trace upstream provider and downstream blast-radius ports without lines crossing over building roofs.
  • URBS-FLOW-SEMIOTICS-04: Upgrade the top-left Roman Hydraulic & Sewer Semiotic Legend Pill in drawScreenSpaceHydraulicOverlay (hydraulicNetwork.ts) to draw crisp vector geometric shapes (❯ Chevron, ◆ Diamond, ▲ Triangle, ◉ Laurel Seal) alongside live active channel counts.

6. Phase 300: Comprehensive Unit Tests, Semiotic Critique Audit & Playwright CV Flywheel Score Maximization (URBS-CV-MAX)

Section titled “6. Phase 300: Comprehensive Unit Tests, Semiotic Critique Audit & Playwright CV Flywheel Score Maximization (URBS-CV-MAX)”
  • URBS-CV-MAX-01: Expand pbrMaterials.test.ts, lightingAndFx.test.ts, hydraulicNetwork.test.ts, and worldRenderer.test.ts to test rounded elbow fillets (strokeRoundedPolyline), sub-building ground conduit routing, and low-Laplacian PBR material synthesis (computeRgbaFrameCvMetrics noiseFloor <= 6.5).
  • URBS-CV-MAX-02: Tune macro lighting contrast and flat-region Laplacian smoothness so urbs-civilization achieves positive noiseReductionPct (noiseFloor < 5.1) and visualAfterScore >= 0.942 in the @ngi/platform-ssot CV Flywheel.
  • URBS-CV-MAX-03: Verify all 32 registered GUI surfaces in e2e/review/cv-flywheel.spec.ts pass with 0 horizontal overflow, 0 overlapping controls, 0 unlit landmarks, and 0 serious/critical axe-core violations.
  • URBS-CV-MAX-04: Capture the verified v5.3 production screenshot and update the visual semiotics & architecture blueprint carousel.

v5.2 Requirements (24/24 Complete Across Phases 289–294)

Section titled “v5.2 Requirements (24/24 Complete Across Phases 289–294)”

1. Phase 289: Smooth Ground-Plane-Recessed Lighting, 2D-Feathered Elliptical Sun-Shafts & Periodic Seamless Sea Synthesis (URBS-SMOOTH-LIGHT)

Section titled “1. Phase 289: Smooth Ground-Plane-Recessed Lighting, 2D-Feathered Elliptical Sun-Shafts & Periodic Seamless Sea Synthesis (URBS-SMOOTH-LIGHT)”
  • URBS-SMOOTH-LIGHT-01: Upgrade drawAdditiveLightPools in lightingAndFx.ts and WorldRenderer.paint in worldRenderer.ts so warm brazier, forge, and active worksite bounce illumination is rendered on the terrace ground plane before 3D buildings and wonders are drawn (drawGroundPlaneIllumination), eliminating the milky alpha-overlay circles previously painted on top of rooftops.
  • URBS-SMOOTH-LIGHT-02: Upgrade drawVolumetricGodRays in lightingAndFx.ts to replace hard-edged 4-point polygon strips with rotated 2D-feathered elliptical radial gradients (stop 1.0 = rgba(..., 0) around the full 360° perimeter) so crepuscular sun-shafts have zero hard lateral polygon boundaries.
  • URBS-SMOOTH-LIGHT-03: Remove the hard-edged solid ctx.arc district pulse circle in WorldRenderer.drawAnimatedWorldEffects (worldRenderer.ts) and replace it with soft, multi-stop radial ground-plane torch shimmer and warm emissive window/archway rim lighting.
  • URBS-SMOOTH-LIGHT-04: Upgrade buildSeaWaterTile in pbrMaterials.ts to use 2π-periodic trigonometric wave interference (Math.sin((x / size) * Math.PI * 2)) and lower the sea pattern overlay alpha in paintFullBleedRomanLandscape so the 64×64 water texture tiles seamlessly across the Mediterranean sea with zero visible grid lines.

2. Phase 290: High-Detail Terrace Grounds: Orthogonal Cardo/Decumanus Streets, Opus Sectile Marble Plazas, Vaulted Substructio Cliff Arcades & Balustrades (URBS-GROUNDS)

Section titled “2. Phase 290: High-Detail Terrace Grounds: Orthogonal Cardo/Decumanus Streets, Opus Sectile Marble Plazas, Vaulted Substructio Cliff Arcades & Balustrades (URBS-GROUNDS)”
  • URBS-GROUNDS-01: Implement drawDistrictGroundDetails in worldRenderer.ts rendering recessed basalt-paved orthogonal Roman thoroughfares (Cardo Maximus and Decumanus Maximus) with raised travertine curbstones (Crepido), wheel-rut grooves, and stepping-stone pedestrian crosswalks across every district terrace.
  • URBS-GROUNDS-02: Render an inlaid Opus Sectile Geometric Marble Forum Plaza around the central District Wonder of each terrace, featuring concentric travertine, porphyry, and verdigris serpentine borders with corner bronze brazier pedestals.
  • URBS-GROUNDS-03: Upgrade the cliff retaining walls in paintFullBleedRomanLandscape (worldRenderer.ts) with Vaulted Substructio Blind Arcades, Projecting Ashlar Buttress Pilasters & Carved Stone Drainage Weep-Spouts along both the SW shadowed and SE sunlit cliff faces.
  • URBS-GROUNDS-04: Add perimeter stone parapet balustrades, corner Roman boundary obelisks (Termini), and manicured cypress/olive planter beds (Horti) along terrace edges.

3. Phase 291: High-Detail Vitruvian Building Architecture (T0–T3): Rusticated Ground Arcades (Fornices), Belt Cornices, Atrium Impluvia & Acroteria Roofs (URBS-ARCH-DETAIL)

Section titled “3. Phase 291: High-Detail Vitruvian Building Architecture (T0–T3): Rusticated Ground Arcades (Fornices), Belt Cornices, Atrium Impluvia & Acroteria Roofs (URBS-ARCH-DETAIL)”
  • URBS-ARCH-DETAIL-01: Upgrade drawIsoBox and drawIsoFileBuilding (worldRenderer.ts) to support Ground-Floor Rusticated Stone Arcades (Fornices) & Keystone Voussoirs with warm interior workshop/shopfront lamplight on T0 Tabernae and T2 Insulae.
  • URBS-ARCH-DETAIL-02: Add projecting Inter-Story Stringcourse Belt Cornices (Marcapiano) and corner ashlar quoining to multi-story T1, T2, and T3 buildings so stories are architecturally articulated.
  • URBS-ARCH-DETAIL-03: Upgrade T1 Domus courtyard massing in drawIsoFileBuilding with a recessed marble Impluvium Rainwater Basin reflecting sky-cyan water inside the peristyle atrium courtyard, plus an arched prostyle entrance porch.
  • URBS-ARCH-DETAIL-04: Upgrade drawIsoPitchedRoof in worldRenderer.ts with sculpted gable Acroteria Finial Ornaments, stepped pediment tympanum mouldings, and terracotta brick hypocaust chimney vents.

4. Phase 292: Integrated Roman Hydraulic Plumbing & Sewer Network (hydraulicNetwork.ts): Aquaeductus Trunk, Castellum Divisorium, Fistulae Supply Pipes & Cloaca Maxima Sewer Trenches/Outfalls (URBS-HYDRAULIC)

Section titled “4. Phase 292: Integrated Roman Hydraulic Plumbing & Sewer Network (hydraulicNetwork.ts): Aquaeductus Trunk, Castellum Divisorium, Fistulae Supply Pipes & Cloaca Maxima Sewer Trenches/Outfalls (URBS-HYDRAULIC)”
  • URBS-HYDRAULIC-01: Create crates/vox-gui/ui/src/components/gamify/urbs/hydraulicNetwork.ts and connect the peripheral AQVAE MCP multi-arch aqueduct directly into an upper-terrace Castellum Divisorium (Main Hydraulic Distribution Reservoir) that branches raised stone Specus channels into the city’s district network.
  • URBS-HYDRAULIC-02: Implement Pressurized Fistulae Supply Conduits & Bronze Sluice Valves (Epistomia) in hydraulicNetwork.ts that route isometric twin-rail bronze/lead pipes along terrace street curbs from district hydraulic headers to active file worksites and upstream/downstream crate viaducts.
  • URBS-HYDRAULIC-03: Implement Recessed Cloaca Maxima Arched Stone Sewer Trenches & Bronze Inspection Grates (Spiracula) in hydraulicNetwork.ts running along the Cardo/Decumanus street grid to carry build output, removed-code runoff, and diagnostic error backpressure.
  • URBS-HYDRAULIC-04: Render Cliff-Wall Cloaca Maxima Arched Sewer Outfall Portals & Stepped Sluice Cascades (Cataracta) at the base of coastal district cliffs, discharging animated water or crimson error runoff plumes into the sea.

5. Phase 293: Multi-Channel Color + Geometric Shape Animated Activity Conduits (AQUA PURA Chevrons, IGNIS OPERIS Diamonds, CLOACA FAULT Triangles & VIA VICTORIAE Seals) (URBS-CONDUIT-ANIM)

Section titled “5. Phase 293: Multi-Channel Color + Geometric Shape Animated Activity Conduits (AQUA PURA Chevrons, IGNIS OPERIS Diamonds, CLOACA FAULT Triangles & VIA VICTORIAE Seals) (URBS-CONDUIT-ANIM)”
  • URBS-CONDUIT-ANIM-01: Implement drawAnimatedHydraulicActivityFlows in hydraulicNetwork.ts and wire into WorldRenderer.drawAnimatedWorldEffects (worldRenderer.ts), encoding AQUA PURA (MCP & Upstream Provider Supply) as Crystalline Cyan (#38bdf8 / #e0f2fe) Chevron Wave-Crests (❯❯) & Water Droplets streaming along aqueduct and Fistulae supply channels.
  • URBS-CONDUIT-ANIM-02: Encode IGNIS OPERIS (Active Agent Work-in-Progress & Token Compute Stream) as Imperial Molten Gold (#f59e0b / #fef08a) Articulated Diamond / Rhombus Ingot Packets (◆◆) pulsing along riveted bronze hypocaust conduits from active LEGIO agents and PRAETORIVM directly to active file worksite scaffolds (parser.rs, select.rs, etc.).
  • URBS-CONDUIT-ANIM-03: Encode CLOACA FAULT (Diagnostic Error Backpressure & Blast-Radius Spillway) as Crimson Vermilion (#ef4444 / #fca5a5) Spiked Warning Triangles (▲) & Counter-Rotating Backpressure Eddies (◎) surging along recessed Cloaca sewer trenches between failing worksites (errors > 0) and downstream impacted districts (⚡ BLAST RADIUS).
  • URBS-CONDUIT-ANIM-04: Encode VIA VICTORIAE (Verified CI & Git Checkpoint Flow) as Emerald Verdigris (#10b981 / #a7f3d0) Circular Laurel Medallions (◉) marching along inlaid marble/brass conduits toward CASTRVM CI and PORTA GIT.

6. Phase 294: Diegetic Hydraulic Sluice-Gate Callouts, Semiotic Consistency Audit, Unit Test Suite & Playwright CV Flywheel Convergence (URBS-SEMIOTICS-CV)

Section titled “6. Phase 294: Diegetic Hydraulic Sluice-Gate Callouts, Semiotic Consistency Audit, Unit Test Suite & Playwright CV Flywheel Convergence (URBS-SEMIOTICS-CV)”
  • URBS-SEMIOTICS-CV-01: Replace the ungrounded screen-space straight dependency lines and giant translucent yellow arrow in drawScreenSpaceOverlays (worldRenderer.ts) with diegetic Roman Hydraulic Sluice-Gate (Cataracta) & Isometric Conduit Routing so all connection lines follow isometric street/viaduct/plumbing geometry and maintain 100% visual/action semiotic consistency.
  • URBS-SEMIOTICS-CV-02: Add a Hydraulic/Plumbing flow legend pill or indicator in drawScreenSpaceOverlays / LudusSandbox.tsx showing the 4 shape+color conduit channels (❯ AQUA MCP/Supply, ◆ IGNIS Agent WIP, ▲ CLOACA Error Fault, ◉ VICTORIA Verified CI) for instant developer scannability.
  • URBS-SEMIOTICS-CV-03: Create crates/vox-gui/ui/src/components/gamify/urbs/__tests__/hydraulicNetwork.test.ts and expand pbrMaterials.test.ts and lightingAndFx.test.ts to verify seamless periodic sea synthesis, ground-plane illumination, Aquaeductus/Fistulae/Cloaca Maxima network routing, and all 4 shape+color animated activity conduits.
  • URBS-SEMIOTICS-CV-04: Run end-to-end verification across TypeScript (tsc --noEmit), Vitest (vitest run src/components/gamify), and the Playwright @ngi/platform-ssot CV Flywheel (urbs-civilization & chat-dock-multi), verifying visualAfterScore >= 0.94 and 0 regressions.

v5.1 Requirements (24/24 Complete Across Phases 283–288)

Section titled “v5.1 Requirements (24/24 Complete Across Phases 283–288)”

1. Phase 283: System Prompt $variable Target Fix, Sanitizer Tag Completeness, ToolRefusalDetector & Lazy MCP Meta-Tools (T3-PROMPT-LOOP)

Section titled “1. Phase 283: System Prompt $variable Target Fix, Sanitizer Tag Completeness, ToolRefusalDetector & Lazy MCP Meta-Tools (T3-PROMPT-LOOP)”
  • T3-PROMPT-LOOP-01: Fix interpolate_system_prompt_variables wiring in crates/vox-orchestrator-mcp/src/chat_tools/chat/message.rs and preamble_and_retrieval.rs so $workspace_root, $git_branch, $session_id, $current_datetime (full ISO-8601 UTC YYYY-MM-DDTHH:MM:SSZ), $active_file, $model_id, and $cognitive_profile are interpolated on system_prompt (as well as custom rule blocks), and upgrade detect_workspace_git_branch in system_prompt_vars.rs to follow gitdir: pointers when .git is a regular worktree file.
  • T3-PROMPT-LOOP-02: Expand escape_user_prompt_special_tokens in crates/vox-orchestrator/src/context_sanitizer.rs to escape <tool_call>, </tool_call>, <tool_response>, </tool_response>, <think>, and </think> in addition to <|im_start|>, <|im_end|>, <|endoftext|>, and <|system|>; expand compact_historical_web_search to also compact <WebFetch>...</WebFetch>; apply escape_user_prompt_special_tokens to the active turn’s turn_user_prompt in agent_loop.rs and message.rs; and persist parse_special_entity_tags(&response_text).extracted_reasoning into ChatTranscriptEntry::thought_signature in persist_and_envelope.rs.
  • T3-PROMPT-LOOP-03: Wire pi-t3chat-style ToolRefusalDetector (should_nudge_tool_use: matching capability-refusal phrases when tools is non-empty, injecting [SYSTEM TOOL CORRECTION] up to max_corrections = 2) and NotT3Chat’s per-turn search circuit breaker (stripping vox_search_query / web_search / vox_kb_search from available tools once total_searches >= 3 in a turn) into crates/vox-orchestrator-mcp/src/chat_tools/chat/agent_loop.rs.
  • T3-PROMPT-LOOP-04: Wire sanitize_mcp_tool_search_env into child MCP process spawning in crates/vox-orchestrator-mcp/src/external_mcp.rs (removing hardcoded ENABLE_TOOL_SEARCH=true), store a shared LazyMcpGroupRegistry on ServerState, and expose vox_list_mcp_servers, vox_list_mcp_tools, and vox_call_mcp_lazy in tool_registry.rs, input_schemas.rs, and dispatch.rs.

2. Phase 284: Sequenced ResumableTurnStreamRegistry, Full ThreadRunQueue Lifecycle, Real ModelSpec Cost Ledger & SessionPrivacyPosture Gate (T3-STREAM-QUEUE)

Section titled “2. Phase 284: Sequenced ResumableTurnStreamRegistry, Full ThreadRunQueue Lifecycle, Real ModelSpec Cost Ledger & SessionPrivacyPosture Gate (T3-STREAM-QUEUE)”
  • T3-STREAM-QUEUE-01: Replace the primitive HashMap<String, (String, bool)> on ServerState::resumable_streams with Arc<PrMutex<vox_orchestrator::models::spec::ResumableTurnStreamRegistry>>, call start_turn once at turn entry (not wiping previous iterations inside stream_final_answer), record TextDelta, ReasoningDelta, ToolCallStart, and Finish chunks across both agent_loop and direct streaming turns, and upgrade vox_chat_stream_resume (after_seq + char_offset) plus add vox_chat_stream_cancel (cancel_turn) in history.rs and dispatch.rs.
  • T3-STREAM-QUEUE-02: Wire the full ThreadRunQueue lifecycle in vox-orchestrator-mcp: call register_background_work / complete_background_work around background task/subagent dispatches in batch_and_eval_gate.rs, arm set_limit_recovery on 429/rate-limit errors, and call pop_next_follow_up when a turn settles in persist_and_envelope.rs (exposing next_queued_follow_up in the turn response envelope).
  • T3-STREAM-QUEUE-03: Move BatteryAndCostLedger::check_preflight_balance after model resolution in message.rs (so "auto" resolving to a local MENS/Ollama model is recognized as zero-cost), wire ModelRegistry::compute_turn_cost_delta (ModelSpec pricing, cache read discounts, BYOK, and local/free flags) into persist_and_envelope.rs, add rolling 4-hour burst + monthly quota window metrics (four_hour_pct, monthly_pct, four_hour_reset_ms) to BatteryAndCostLedger, and expose vox_battery_status in dispatch.rs.
  • T3-STREAM-QUEUE-04: Enforce SessionPrivacyPosture::allows_disk_persistence() in persist_and_envelope.rs: when privacy_posture == SessionPrivacyPosture::Ephemeral, skip writing conversation messages, workspace turns, telemetry events, and long-term agent memories to state.db (VoxDb), keeping the turn in-memory only and reporting persisted_to_disk: false in posture_audit.

3. Phase 285: Worktree Async Lease Mutex Fix, Persistent Webhook Gate, Monotonic Sparse Git Checkpoints, Real MultiVariantWorktreePool & Compact Snapshot Fix (T3-WORKTREE-CKPT)

Section titled “3. Phase 285: Worktree Async Lease Mutex Fix, Persistent Webhook Gate, Monotonic Sparse Git Checkpoints, Real MultiVariantWorktreePool & Compact Snapshot Fix (T3-WORKTREE-CKPT)”
  • T3-WORKTREE-CKPT-01: Upgrade WorkspaceLeaseMap in crates/vox-orchestrator/src/workspace_lease.rs and DelegationWorktree::create in crates/vox-orchestrator-mcp/src/agy_worktree.rs to hold a tokio::sync::MutexGuard across .await during git worktree add and provision_untracked_env_files; and move WebhookDedupeAndRateGate onto ServerState (webhook_gate: Arc<PrMutex<WebhookDedupeAndRateGate>>) so submit_webhook_events in webhook_intake.rs preserves its 5-minute TTL dedupe cache and 60/min rate window across 250ms poll ticks (wiring verify_webhook_signature and matches_webhook_json_filter).
  • T3-WORKTREE-CKPT-02: Fix sparse Git checkpointing in batch_and_eval_gate.rs and checkpoint_engine.rs: track a monotonic per-session checkpoint counter on ServerState (checkpoint_turn_counters) so turns never overwrite turn/1, sanitize :, \, /, and % in temp_index paths for Windows NTFS safety, pass -p HEAD (when resolvable) to git commit-tree, clean newly created post-checkpoint files during restore_checkpoint, and wire GitPlumbingCheckpointStore::diff_checkpoints into handle_vcs_checkpoint_diff_summary.
  • T3-WORKTREE-CKPT-03: Persist muse_pools: Arc<PrMutex<HashMap<String, MultiVariantWorktreePool>>> on ServerState, upgrade handle_muse_pool_spawn (t3_wave3_tools.rs) to materialize real linked worktrees on disk (git worktree add --detach + provision_untracked_env_files under .vox/worktrees/muse/<thread_id>/<slot_id>), and upgrade handle_muse_pool_adopt to apply/record the adopted variant and remove pruned variant worktrees from disk.
  • T3-WORKTREE-CKPT-04: Fix orchestrator_status_compact in crates/vox-orchestrator-mcp/src/dei_tools/orchestrator_snapshot.rs and dispatch.rs so it compresses the inner status data (eliminating the double ToolResult wrapper), filters idle subagents via parent_agent_id.is_some() in addition to name heuristics, and wires LiveBodyDeduper into compress_wire_snapshot.

4. Phase 286: UTF-8 Boundary Safety, Multi-Provider Consensus Synthesizer, Recursive Session Discovery & Real Guest Share / Diagnostics (T3-TOOLS-HARDENING)

Section titled “4. Phase 286: UTF-8 Boundary Safety, Multi-Provider Consensus Synthesizer, Recursive Session Discovery & Real Guest Share / Diagnostics (T3-TOOLS-HARDENING)”
  • T3-TOOLS-HARDENING-01: Fix the UTF-8 byte-slice panics in crates/vox-orchestrator/src/context_handoff.rs (build_handoff_payload) and crates/vox-orchestrator-mcp/src/mcp_tool_access.rs (bound_snapshot_metadata) using char-boundary-safe truncation (floor_char_boundary), upgrade HandoffStrategy::Summarized to produce a structured digest of earlier turns prior to the verbatim tail, and assign a VoxIdAllocatorV2 message_id to persisted handoff entries.
  • T3-TOOLS-HARDENING-02: Upgrade handle_consensus_run (t3_wave3_tools.rs) and ConsensusOrchestrator (crates/vox-orchestrator/src/models/consensus.rs) to check any configured provider credential (OpenRouterApiKey, GeminiApiKey, AnthropicApiKey, OpenAiApiKey, GroqApiKey, or local Ollama/Populi endpoint) and run a real consensus synthesis pass (synthesize_consensus_response) combining insights across all completed legs.
  • T3-TOOLS-HARDENING-03: Upgrade discover_latest_external_jsonl in t3_wave3_tools.rs to recursively walk up to depth 4 under ~/.claude/projects, ~/.codex/sessions, and ~/.cursor/chats (and expose vox_session_list_external), assign VoxIdAllocatorV2 message_ids to all imported/guest turns, remove the synthetic fake-invite block from handle_guest_share_moderate, and expose vox_guest_share_redeem and vox_guest_share_submit with wall-clock now_ms.
  • T3-TOOLS-HARDENING-04: Harden authorize_wave3_call (t3_wave3_tools.rs) so caller args can only narrow (never escalate) ServerState’s access mode, persist PullRequestReviewGuideService on ServerState, and wire real vox-code-audit / observer diagnostics for rel_path into handle_file_diff_and_diagnostics (replacing the hardcoded "diagnostics": []).

5. Phase 287: Unified message_id & Telemetry Across Tauri/MCP, Live Transcript Actions, Mid-Turn Steer Composer & streamWatchdog.ts (T3-GUI-PIPELINE)

Section titled “5. Phase 287: Unified message_id & Telemetry Across Tauri/MCP, Live Transcript Actions, Mid-Turn Steer Composer & streamWatchdog.ts (T3-GUI-PIPELINE)”
  • T3-GUI-PIPELINE-01: Preserve backend_message_id (usr:... / ast:...), battery_spent_bu, remaining_balance_bu, quality_score, flesch_kincaid_grade, compaction_audit, posture_audit, and next_queued_follow_up in parse_chat_message_envelope (crates/vox-gui/src/commands/chat.rs & chat_turn.rs), and upgrade history.rs (chat_edit_message_in_place, chat_regenerate, chat_compact_up_to) to match by message_id, id, or turn-index fallback while syncing mutations to state.db and restoring the turn’s Git checkpoint on chat_regenerate.
  • T3-GUI-PIPELINE-02: Upgrade ChatTranscript.tsx and App.tsx: enable ✎ Edit on both user and assistant messages, wire ↻ Regenerate with execute: true so it updates sessionChatStore with the regenerated turn, add a ✂ Compact Here action button calling compactChatUpTo, wire /compact in handleLoquelaSlash (App.tsx), and wire real forked-session comparison in handleOpenBranchComparison.
  • T3-GUI-PIPELINE-03: Fix the Enter-key task-abort bug in crates/vox-gui/ui/src/components/surfaces/Loquela/Loquela.tsx (handleKeyDown when taskInProgress === true), render [⚡ Steer Turn] (steerChatQueue(..., promoteToSteer: true)) and [+ Queue Next] (steerChatQueue(..., promoteToSteer: false)) when a turn/task is in flight, and auto-dispatch next_queued_follow_up on turn completion.
  • T3-GUI-PIPELINE-04: Create crates/vox-gui/ui/src/lib/chat/streamWatchdog.ts (FIRST_EVENT_TIMEOUT_MS = 30_000, STREAM_IDLE_TIMEOUT_MS = 120_000) and wire resumeChatStream (vox_chat_stream_resume) on session hydration/reconnect; pass compactionAudit, postureAudit, batterySpentBu, and qualityScore to ChatExecutionRail.tsx and ContextWindowMeter.tsx; wire vcsCheckpointDiffSummary in ChatExecutionRail.tsx; pass messages, onSessionImported, sessionImportBundle, and sessionListExternal in SessionInteropModal.tsx; wire vcsMusePoolAdopt in ConsensusGridView.tsx; and add guestShareMint / guestShareSubmit / guestShareModerate in t3Wave3Rpc.ts.

6. Phase 288: vox-code-audit T3 Detector Catalog Registration, oxlint-plugin-t3code Rule Parity & 43-Violation Workspace Remediation (T3-AUDIT-PARITY)

Section titled “6. Phase 288: vox-code-audit T3 Detector Catalog Registration, oxlint-plugin-t3code Rule Parity & 43-Violation Workspace Remediation (T3-AUDIT-PARITY)”
  • T3-AUDIT-PARITY-01: Register vox/lint/unreasoned-suppression, vox/test/flaky-wait-and-unreasoned-skip, vox/mcp/access-and-error-safety, and vox/ui/layout-and-perf-hazards in crates/vox-code-audit/src/diagnostics/catalog.rs (ALL_KNOWN_IDS) and populate diagnostic_id: Some(...) across all four detector implementations.
  • T3-AUDIT-PARITY-02: Upgrade unreasoned_suppression.rs (adding .vox support, Rust #[expect(, // toestub-ignore(...) -- <reason> enforcement, preceding-line comment exemption, and standard // @ts-expect-error <explanation> support) and test_clock_and_skip.rs (scanning inline #[cfg(test)] modules, unreasoned .skip(/.todo(/xit(, sleep-polling loops inside while/loop/for, and requestAnimationFrame waits).
  • T3-AUDIT-PARITY-03: Upgrade mcp_access_and_error_safety.rs (checking ToolResult::err with :? and thick-handler Command::new calls inside MCP tool handler files) and ui_perf_hazards.rs (adding .css :has( and scrollbar-gutter: stable + mx-auto without both-edges), and refactor the 4 raw std::process::Command::new sites in t3_wave3_tools.rs to use GitPlumbingCheckpointStore / GitExec.
  • T3-AUDIT-PARITY-04: Remediate all 43 live workspace violations across crates/vox-gui/ui/src/, crates/vox-cli/, and crates/vox-orchestrator-mcp/ (15 unreasoned TS lint suppressions, 4 bare toestub-ignore comments, 1 error = ?e tracing macro in harness_issue_judge.rs:137, 21 transition-all classes, and 5 new ResizeObserver( sites) and verify 0 findings across vox-code-audit, vox-arch-check, and vox-doc-pipeline.

v5.0 Requirements (24/24 Complete Across Phases 277–282)

Section titled “v5.0 Requirements (24/24 Complete Across Phases 277–282)”

1. Phase 277: Procedural Natural Surface Material Synthesis (pbrMaterials.ts) (URBS-MAT)

Section titled “1. Phase 277: Procedural Natural Surface Material Synthesis (pbrMaterials.ts) (URBS-MAT)”
  • URBS-MAT-01: Create crates/vox-gui/ui/src/components/gamify/urbs/pbrMaterials.ts implementing a deterministic offscreen procedural material synthesis engine (PbrMaterialAtlas) that generates cached tileable CanvasPatterns for Pitted Roman Travertine Ashlar (travertineLit, travertineShade) with multi-octave value noise, sedimentary pore pitting, staggered ashlar stone blocks, and damp basal moss staining.
  • URBS-MAT-02: Synthesize Hand-Molded Roman Terracotta Imbrex & Tegula Roof Tile Patterns (terracottaLit, terracottaShade) and Opus Incertum / Basalt Cobblestone Plaza Patterns (plazaCobble, plazaMarble) in pbrMaterials.ts with scalloped tile overlap shadows, recessed mortar grooves, and warm stone-to-stone value variation.
  • URBS-MAT-03: Synthesize Stratified Craggy Basalt Cliff Patterns (cliffLit, cliffShade), Weathered Oak Timber Grain (oakTimber), and Anisotropic Hammered Bronze / Forged Iron Metallic Shaders (createBronzeGradient, createIronGradient) in pbrMaterials.ts.
  • URBS-MAT-04: Add Vitest unit tests in crates/vox-gui/ui/src/components/gamify/urbs/__tests__/pbrMaterials.test.ts verifying deterministic procedural noise, pattern synthesis caching, and metallic/surface shader helpers.

2. Phase 278: True Isometric Directional Cast Shadows, Contact Ambient Occlusion & Specular Chamfer Bevels (URBS-DEPTH)

Section titled “2. Phase 278: True Isometric Directional Cast Shadows, Contact Ambient Occlusion & Specular Chamfer Bevels (URBS-DEPTH)”
  • URBS-DEPTH-01: Implement drawIsoCastShadow(ctx, px, py, u0, v0, z0, u1, v1, z1) in worldRenderer.ts that projects a soft multi-layer directional twilight shadow polygon onto the terrace plane (z = z0) cast by a South-East (+u, -v, 36° altitude) golden-hour sun toward North-West (-u, +v).
  • URBS-DEPTH-02: Upgrade drawIsoBox in worldRenderer.ts to replace flat solid hex fills with vertical height-shaded CanvasLinearGradients (deep contact ambient occlusion at z0 transitioning to warm golden-hour rim light at z1 on SE faces and cool twilight indigo skylight on SW faces) overlaid with the PbrMaterialAtlas travertine ashlar texture.
  • URBS-DEPTH-03: Replace harsh #120f0c black cartoon outlines on drawIsoBox, drawIsoPitchedRoof, drawIsoColonnade, and the 8 Vitruvian Roman Wonder mechanisms with physical specular chamfer highlights (1.1px warm sunlit ivory/gold highlight along top/SE ridges + subtle dark mortar seam on recessed edges).
  • URBS-DEPTH-04: Add Vitest tests verifying directional cast shadow projection math, height-based gradient shading, and specular chamfer rendering.

3. Phase 279: Sculpted Coastal Bathymetry, Surf Foam Ribbons, Craggy Cliff Geology & Cobblestone Terraces (URBS-TERRAIN)

Section titled “3. Phase 279: Sculpted Coastal Bathymetry, Surf Foam Ribbons, Craggy Cliff Geology & Cobblestone Terraces (URBS-TERRAIN)”
  • URBS-TERRAIN-01: Upgrade paintFullBleedRomanLandscape in worldRenderer.ts to replace the flat #0a1019 sea rectangle with a multi-stop Mediterranean Twilight Bathymetric Depth Field (abyssal midnight #040811 → deep Prussian #091929 → coastal turquoise-teal shelf #0e3147) and subtle water wave texture.
  • URBS-TERRAIN-02: Render Layered Coastal Surf Foam Ribbons & Cliff-Base Sea Reflections around every district peninsula where rock cliffs meet the sea, plus cascading mist/foam pools at coastal waterfall bases.
  • URBS-TERRAIN-03: Upgrade district cliff faces and terrace plazas in paintFullBleedRomanLandscape to apply cliffLit/cliffShade geological strata patterns, vertical erosion fissures, mossy rock ledges, and plazaCobble flagstone paving with warm inner vignette bevels.
  • URBS-TERRAIN-04: Add Vitest tests verifying bathymetric terrain rendering and cliff/terrace material layering.

4. Phase 280: Golden-Hour & Twilight Dual-Key Atmospheric Lighting, Volumetric God-Rays, Elevation Mist & Additive GI Pools (lightingAndFx.ts) (URBS-LIGHT)

Section titled “4. Phase 280: Golden-Hour & Twilight Dual-Key Atmospheric Lighting, Volumetric God-Rays, Elevation Mist & Additive GI Pools (lightingAndFx.ts) (URBS-LIGHT)”
  • URBS-LIGHT-01: Create crates/vox-gui/ui/src/components/gamify/urbs/lightingAndFx.ts implementing Inter-Terrace Atmospheric Depth Mist (drawElevationAtmosphericMist) that renders soft aerial-perspective haze ribbons between L0 harbor level and elevated L1..L3 terraces.
  • URBS-LIGHT-02: Implement Diagonal Crepuscular Volumetric God-Rays (drawVolumetricGodRays) in lightingAndFx.ts casting soft golden-hour light shafts (globalCompositeOperation = 'screen') from the upper-left/SE horizon across the Acropolis, Praetorium, and active worksite districts.
  • URBS-LIGHT-03: Implement Additive Point-Light GI Pools (drawAdditiveLightPools) and Cinematic Viewport Vignette & Tone-Mapping (drawCinematicPostProcess) in lightingAndFx.ts so every torch brazier, trip-hammer furnace, burning building, lit window, and cyan aqueduct channel casts warm/cyan bounce light onto surrounding stone.
  • URBS-LIGHT-04: Add Vitest unit tests in crates/vox-gui/ui/src/components/gamify/urbs/__tests__/lightingAndFx.test.ts verifying atmospheric mist, volumetric god-rays, additive GI pools, and post-processing passes.

5. Phase 281: Live Particle FX Engine (Forge Embers, Volumetric Smoke Plumes, Waterfall Spray & Mason Chisel Sparks) (URBS-FX)

Section titled “5. Phase 281: Live Particle FX Engine (Forge Embers, Volumetric Smoke Plumes, Waterfall Spray & Mason Chisel Sparks) (URBS-FX)”
  • URBS-FX-01: Implement deterministic time-parameterized Rising Forge & Error Ember Emitters (drawForgeAndFireEmbers) in lightingAndFx.ts and wire into drawAnimatedWorldEffects in worldRenderer.ts for the Acropolis Trip-Hammer Forge, Praetorium braziers, and any building with errors > 0.
  • URBS-FX-02: Implement Soft Volumetric Drifting Smoke Plumes (drawVolumetricSmokePlumes) and Waterfall Mist Spray & Harbor Water Caustics (drawWaterCausticsAndSpray) in lightingAndFx.ts.
  • URBS-FX-03: Implement Active Mason Chisel Sparks & Dust Motes (drawMasonChiselSparks) around active Treadwheel Cranes (+LoC / -LoC) and Shimmering Golden Seal-Token Trails along active dependency viaducts.
  • URBS-FX-04: Add Vitest unit tests verifying deterministic particle coordinates, alpha lifecycle fade, and zero-allocation frame rendering.

6. Phase 282: Diegetic Cliff-Apron Architrave Plaques, Architecture-First HUD Decluttering & Playwright CV Flywheel Convergence (URBS-DIEGETIC)

Section titled “6. Phase 282: Diegetic Cliff-Apron Architrave Plaques, Architecture-First HUD Decluttering & Playwright CV Flywheel Convergence (URBS-DIEGETIC)”
  • URBS-DIEGETIC-01: Upgrade drawDistrictMicroHudBadge in worldRenderer.ts into a Chiseled Roman Bronze & Travertine Cliff-Apron Architrave Plaque mounted cleanly along the front cliff retaining wall (wy + 34) below the terrace skyline so it never occludes the 3D district wonder or file buildings.
  • URBS-DIEGETIC-02: Declutter drawScreenSpaceOverlays in worldRenderer.ts using Architecture-First Progressive Disclosure: render floating drawWorksiteFileDiffSlab and drawTacticalErrorDispatchOverlay callouts only for the currently selected/hovered district or the single highest-priority error/collision target, keeping 85%+ of the 3D architectural diorama completely unobstructed.
  • URBS-DIEGETIC-03: Upgrade the procedural sprite atlas in crates/vox-gui/ui/src/components/gamify/urbs/sprites.ts (fire-0, fire-1, ship, caravan, gate, castrum, arch) with multi-stop metallic/stone gradients and soft drop shadows so stamped sprites match the photorealistic 3D world buffer.
  • URBS-DIEGETIC-04: Run end-to-end verification across Vitest (pnpm --dir crates/vox-gui/ui exec vitest run src/components/gamify), TypeScript (tsc --noEmit), and Playwright CV Flywheel (urbs-civilization & chat-dock-multi), verifying visualAfterScore >= 0.935 and 0 regressions.

v4.9 Requirements (24/24 Complete Across Phases 271–276)

Section titled “v4.9 Requirements (24/24 Complete Across Phases 271–276)”

1. Phase 271: Zero-Hop Inline Diff & Compiler Diagnostic Loupe (Speculum Codicis) (URBS-LOUPE)

Section titled “1. Phase 271: Zero-Hop Inline Diff & Compiler Diagnostic Loupe (Speculum Codicis) (URBS-LOUPE)”
  • URBS-LOUPE-01: Implement Tauri command workspace_file_diff_and_diagnostics(file_path: String) in crates/vox-gui/src/commands/workspace_town.rs (and register in crates/vox-gui/src/lib.rs) returning FileDiffAndDiagnosticsDto { file_path, added_lines, deleted_lines, unified_diff, diagnostics: Vec<CompilerDiagnosticSpanDto> } backed by git diff --unified=3 -- <file_path> and structured compiler/test diagnostic spans (file, line, column, severity, code, message).
  • URBS-LOUPE-02: Create crates/vox-gui/ui/src/components/gamify/urbs/SpeculumLoupePopover.tsx (data-testid="urbs-speculum-loupe-popover") rendered as a floating hammered-bronze and obsidian optical loupe (380px x 260px) anchored directly above any clicked or hovered Treadwheel Crane (+LoC / -LoC) or red error building (N ERR), displaying color-coded + emerald / - crimson unified diff hunks and exact file:line:col compiler diagnostic spans.
  • URBS-LOUPE-03: Wire 3 real 1-click developer actions inside SpeculumLoupePopover.tsx: [✓ Stage File] (git add -- <file_path> via Tauri workspace_stage_file), [↺ Revert File] (git checkout -- <file_path> via Tauri workspace_revert_file), and [⚒ Fix Exact Error] (dispatching submitAgentTask pre-seeded with file_path, exact line:col, compiler error message, and surrounding diff hunk).
  • URBS-LOUPE-04: Add Rust unit tests in crates/vox-gui/src/commands/workspace_town.rs and Vitest component tests in crates/vox-gui/ui/src/components/gamify/urbs/__tests__/SpeculumLoupePopover.test.tsx verifying real unified diff extraction, diagnostic rendering, and 1-click Stage/Revert/Dispatch-Fix callbacks.

2. Phase 272: Multi-Agent Write-Set Collision & Blast-Radius Cone Radar (Concursus Legionum) (URBS-COLLISION)

Section titled “2. Phase 272: Multi-Agent Write-Set Collision & Blast-Radius Cone Radar (Concursus Legionum) (URBS-COLLISION)”
  • URBS-COLLISION-01: Create crates/vox-gui/ui/src/components/gamify/urbs/collisionRadar.ts implementing computeAgentWriteSetCones(agentTasks, buildings, topologyEdges) that computes each active agent’s claimed write-set (targetFiles), downstream blast-radius modules (1-hop reverse dependents), and pairwise overlap (CollisionZone { id, districtId, overlappingFilePaths, agentA, agentB, severity: 'direct_write_conflict' | 'blast_radius_overlap' }).
  • URBS-COLLISION-02: Upgrade crates/vox-gui/ui/src/components/gamify/urbs/worldRenderer.ts to project semi-transparent Roman surveyor groma cones across each active agent’s target district and plant a 3D Hammered-Bronze Crossed-Swords Collision Standard (⚠ WRITE-SET COLLISION) with an animated crimson hazard boundary on any tile/district with a non-empty CollisionZone.
  • URBS-COLLISION-03: Wire 1-click collision resolution controls in LudusSandbox.tsx and ImperiumInspector.tsx when a CollisionZone is clicked: [⇄ Serialize Agents] (calling steerChatQueue / task dependency serialization so Agent B waits for Agent A’s lock release) and [🌿 Split Worktree] (calling worktreeSpawnVariant from t3Wave3Rpc.ts to isolate Agent B onto a dedicated Git worktree).
  • URBS-COLLISION-04: Add Vitest unit tests in crates/vox-gui/ui/src/components/gamify/urbs/__tests__/collisionRadar.test.ts verifying direct file write-set collisions, 1-hop blast-radius collisions, and [⇄ Serialize Agents] / [🌿 Split Worktree] action dispatch.

3. Phase 273: Clickable Viaduct Cross-Module Contract & Layer-Inversion Inspector (Pons Foederis) (URBS-VIADUCT)

Section titled “3. Phase 273: Clickable Viaduct Cross-Module Contract & Layer-Inversion Inspector (Pons Foederis) (URBS-VIADUCT)”
  • URBS-VIADUCT-01: Extend WorkspaceTownSnapshot in crates/vox-gui/src/commands/workspace_town.rs with edges: Vec<TownDependencyEdge> (from_district_id, to_district_id, imported_symbols: Vec<String>, call_site_count: u32, from_layer: Option<u8>, to_layer: Option<u8>, layer_violation: bool, broken_contract_errors: u32) computed by scanning workspace manifest dependencies (Cargo.toml / package.json / go.mod / Python imports) and checking docs/src/architecture/layers.toml layer assignments when present.
  • URBS-VIADUCT-02: Add viaduct segment hit-testing (hitTestViaductEdge(worldX, worldY, edges, districts)) in crates/vox-gui/ui/src/components/gamify/urbs/layout.ts and render a Cracked Red Arch Keystone (⚠ LAYER VIOLATION / ⚡ BROKEN CONTRACT) with crimson mortar fissures in worldRenderer.ts whenever edge.layer_violation or edge.broken_contract_errors > 0 is true.
  • URBS-VIADUCT-03: Add the PONS CONTRACTVS (Viaduct Contract Inspector) view to crates/vox-gui/ui/src/components/gamify/urbs/ImperiumInspector.tsx (data-testid="urbs-viaduct-contract-panel") displaying source → target module direction, layer numbers (L1 → L3), imported symbols/traits, downstream call-site count, and 1-click [⚒ Repair Contract Mismatch] task dispatch.
  • URBS-VIADUCT-04: Add Rust tests in workspace_town.rs and Vitest tests in crates/vox-gui/ui/src/components/gamify/urbs/__tests__/viaductInspector.test.tsx verifying dependency edge extraction, layer-inversion flagging, viaduct hit-testing, and PONS CONTRACTVS rendering.

4. Phase 274: Hard Agent Scope Quarantine Fencing (Clausura Ferrea) (URBS-QUARANTINE)

Section titled “4. Phase 274: Hard Agent Scope Quarantine Fencing (Clausura Ferrea) (URBS-QUARANTINE)”
  • URBS-QUARANTINE-01: Add quarantined_paths: Arc<DashSet<String>> to ServerState in crates/vox-orchestrator-mcp/src/server_state/mod.rs and expose MCP tools vox_quarantine_set ({ path_prefix: String, quarantined: bool }) and vox_quarantine_list ({}) in tool_registry.rs, input_schemas.rs, and dispatch.rs, plus Tauri bridge commands set_district_quarantine and list_district_quarantines in crates/vox-gui/src/commands/workspace_town.rs.
  • URBS-QUARANTINE-02: Enforce hard pre-execution write rejection in crates/vox-orchestrator-mcp/src/chat_tools/chat/agent_loop.rs: before executing any mutating tool (vox_write_file, vox_edit_file, vox_apply_structured_edit, write_file, edit_file, delete_file), check whether the normalized target path matches any prefix in state.quarantined_paths; if matched, block execution and return a structured [QUARANTINE GUARDRAIL: Path '<path>' is locked read-only by developer Clausura Ferrea] tool error so the agent cannot touch quarantined modules.
  • URBS-QUARANTINE-03: Upgrade worldRenderer.ts, LudusSandbox.tsx, and ImperiumInspector.tsx so Alt+Click on a district (or clicking [🔒 Lock District Scope] in the inspector) toggles set_district_quarantine and renders a 3D Wrought-Iron Perimeter Portcullis Fence & Bronze Padlock (🔒 QUARANTINED: READ-ONLY) around the district terrace.
  • URBS-QUARANTINE-04: Add Rust integration tests in crates/vox-orchestrator-mcp proving mutating tool calls against a quarantined path are rejected before touching disk while read-only tools (vox_read_file) still succeed, plus Vitest UI tests for the quarantine toggle.

5. Phase 275: Interactive Milestone Road Turn Time-Scrubber (Via Temporis Visual git bisect) (URBS-SCRUBBER)

Section titled “5. Phase 275: Interactive Milestone Road Turn Time-Scrubber (Via Temporis Visual git bisect) (URBS-SCRUBBER)”
  • URBS-SCRUBBER-01: Extend crates/vox-orchestrator-mcp/src/t3_wave3_tools.rs with vox_vcs_checkpoint_diff_summary (and wire vcsCheckpointDiffSummary in t3Wave3Rpc.ts) returning per-checkpoint modified file paths, +LoC / -LoC deltas, turn index, and timestamp from GitPlumbingCheckpointStore (refs/vox/checkpoints/).
  • URBS-SCRUBBER-02: Create crates/vox-gui/ui/src/components/gamify/urbs/ViaTemporisScrubber.tsx (data-testid="urbs-via-temporis-scrubber") rendered at the bottom of the VRBS canvas along PORTA GIT, featuring Roman numeral milestone markers (I, II, III, IV...), a draggable Bronze Sundial Gnomon Scrubber, per-turn token/BU cost badges, and test-shield state indicators (PASS emerald vs. FAIL crimson).
  • URBS-SCRUBBER-03: Wire live historical state preview in LudusSandbox.tsx: scrubbing the sundial pointer to Milestone $k$ highlights the exact buildings modified in that turn (+LoC / -LoC cranes and test shield state at turn $k$) and provides a 1-click [↺ Rollback Worktree to Milestone] CTA wired to vcsCheckpointRestore.
  • URBS-SCRUBBER-04: Add Vitest unit tests in crates/vox-gui/ui/src/components/gamify/urbs/__tests__/ViaTemporisScrubber.test.tsx verifying milestone scrubbing, historical building diff preview projection, and vcsCheckpointRestore invocation.

6. Phase 276: Split-Dock Tactical Map Workbench Integration (Tabula Praetoria ⌘M) (URBS-DOCK)

Section titled “6. Phase 276: Split-Dock Tactical Map Workbench Integration (Tabula Praetoria ⌘M) (URBS-DOCK)”
  • URBS-DOCK-01: Add a 1-click [🏛 Tactical Map ⌘M] toggle button and Alt+M / ⌘M global shortcut in crates/vox-gui/ui/src/components/dock/DockWorkspaceShell.tsx and ChatSurface.tsx that opens LudusSandbox in a side-by-side 60/40 split-dock alongside the active Chat/Review workbench without leaving the current session.
  • URBS-DOCK-02: Implement bi-directional district context filtering (selectedUrbsDistrictFilter in useAppStore.ts): clicking a district in LudusSandbox filters the docked ChatTranscript / ReviewView to tool calls and diffs touching that module’s path prefix (with a dismissible [🏛 District Filter: <name> ×] pill in the chat header).
  • URBS-DOCK-03: Wire real-time tool-call mechanism pulses from active chat streaming events into LudusSandbox.tsx: live read_file/search events pulse the target district’s Archimedes Screw Pump, write_file/edit_file events spin its Vitruvian Treadwheel Crane, cargo test/vitest events pulse its Legionary Shield Wall, and approval prompts drop its Portcullis Gate.
  • URBS-DOCK-04: Run end-to-end verification across Rust (cargo test -p vox-gui and cargo test -p vox-orchestrator-mcp), Vitest (pnpm --dir crates/vox-gui/ui exec vitest run), and Playwright CV Flywheel (urbs-civilization & chat-dock-multi), verifying visualAfterScore >= 0.92 and 0 regressions.

v4.8 Requirements (24/24 Complete Across Phases 265–270)

Section titled “v4.8 Requirements (24/24 Complete Across Phases 265–270)”

1. Phase 265: tool:<name> Fence Salvage Fix, Live @rule:<name> Mention Resolution & $variable System Prompt Interpolation (T3-SALVAGE-RULES)

Section titled “1. Phase 265: tool:<name> Fence Salvage Fix, Live @rule:<name> Mention Resolution & $variable System Prompt Interpolation (T3-SALVAGE-RULES)”
  • T3-SALVAGE-RULES-01: Upgrade salvage_tool_calls_from_text in crates/vox-orchestrator-mcp/src/chat_tools/chat/agent_loop/salvage_and_stream.rs with a Tier 1.5 regex (r"(?s)```tool:([A-Za-z0-9_.:-]+)\s*\n(.*?)\s*```") that extracts the tool name from the fence header and parses the JSON body as arguments (matching looks_like_streamed_tool_call_envelope), so pi-t3chat-style tool:<name> fences are salvaged into executable ToolCallPayloads instead of being suppressed and dropped.
  • T3-SALVAGE-RULES-02: Wire resolve_user_rule_mentions (crates/vox-orchestrator-mcp/src/chat_tools/chat/mentions.rs) into resolve_mentions (and add a workspace/DB rule loader helper) so @rule:<name> tags and RuleActivationMode::Always rules are stripped and resolved into <user_rules> context blocks before MENTION_RE file-path resolution runs (eliminating false [ Mention @rule:... not found in workspace ] warnings).
  • T3-SALVAGE-RULES-03: Wire interpolate_system_prompt_variables (crates/vox-orchestrator-mcp/src/chat_tools/chat/system_prompt_vars.rs) into prepare_turn_context_and_retrieval (crates/vox-orchestrator-mcp/src/chat_tools/chat/message/preamble_and_retrieval.rs) using live workspace root, active git branch, session ID, active file, model ID, and cognitive profile.
  • T3-SALVAGE-RULES-04: Add unit and integration tests in crates/vox-orchestrator-mcp proving tool:<name> fence salvage, @rule:<name> live mention stripping + <user_rules> injection without file-not-found noise, and $workspace_root / $git_branch / $session_id interpolation on the live turn preparation path.

2. Phase 266: Live context_sanitizer History Stripping, vox_chat_compact_up_to, BatteryCostLedger Accounting, VoxIdAllocatorV2 Message IDs & Real ResponseQualityAnalyzer Telemetry (T3-HIST-BATTERY)

Section titled “2. Phase 266: Live context_sanitizer History Stripping, vox_chat_compact_up_to, BatteryCostLedger Accounting, VoxIdAllocatorV2 Message IDs & Real ResponseQualityAnalyzer Telemetry (T3-HIST-BATTERY)”
  • T3-HIST-BATTERY-01: Wire vox_orchestrator::context_sanitizer::sanitize_assistant_for_history (stripping closed <think>...</think> and <WebSearch>...</WebSearch> blocks from prior assistant turns while preserving thought_signature metadata) and escape_prompt_injection_tokens (neutralizing raw role-boundary injection delimiters in user/tool messages) into transcript_entry_to_llm_message in crates/vox-orchestrator-mcp/src/chat_tools/chat/conversation.rs.
  • T3-HIST-BATTERY-02: Implement chat_compact_up_to (vox_chat_compact_up_to) in crates/vox-orchestrator-mcp/src/chat_tools/chat/history.rs (and wire it in tool_registry.rs, input_schemas.rs, and dispatch.rs), supporting both UpToMessageId and FromMessageId anchor directions while preserving the turn-0 goal anchor and persisting a [COMPACTED HISTORY SUMMARY] entry.
  • T3-HIST-BATTERY-03: Instantiate a shared BatteryCostLedger (1 BU = $0.001) and VoxIdAllocatorV2 on ServerState (crates/vox-orchestrator-mcp/src/server_state/mod.rs), run check_preflight_balance before executing chat_message, record post-turn BatteryTransaction (record_turn_usage) in persist_and_envelope.rs, and mint collision-free deterministic usr-* and ast-* message IDs via VoxIdAllocatorV2::derive.
  • T3-HIST-BATTERY-04: Replace the hardcoded quality_score: Some(1.0) in persist_and_build_chat_envelope (crates/vox-orchestrator-mcp/src/chat_tools/chat/message/persist_and_envelope.rs) with the real ResponseQualityAnalyzer::analyze_response_quality(&params.prompt, &response_text) normalized score (quality_score / 100.0), and expose quality_score, flesch_kincaid_grade, and battery_spent_bu in the turn response envelope’s posture_audit.

3. Phase 267: Live agent_loop Integration: CommandOutputHub \r Normalization, 20 KiB DOM Shedding, Pre-Write Sparse Git Checkpoints, ResumableTurnStreamRegistry & Mid-Turn Steer Draining (T3-LOOP-CHECKPOINT)

Section titled “3. Phase 267: Live agent_loop Integration: CommandOutputHub \r Normalization, 20 KiB DOM Shedding, Pre-Write Sparse Git Checkpoints, ResumableTurnStreamRegistry & Mid-Turn Steer Draining (T3-LOOP-CHECKPOINT)”
  • T3-LOOP-CHECKPOINT-01: Wire vox_orchestrator::command_output_hub::normalize_terminal_output (\r carriage-return progress-bar folding) and vox_orchestrator::snapshot::bound_snapshot_metadata (20 KiB DOM/snapshot shedding) into agent_loop.rs before cap_and_summarize_tool_output runs on tool execution results.
  • T3-LOOP-CHECKPOINT-02: Wire automatic pre-write sparse Git checkpointing into agent_loop.rs: before executing any tool call where GitPlumbingCheckpointStore::should_sparse_checkpoint(&call.name) is true, capture a sparse checkpoint via a shared GitPlumbingCheckpointStore on ServerState (refs/vox/checkpoints/{session_id}/{turn_idx}).
  • T3-LOOP-CHECKPOINT-03: Add a shared ResumableTurnStreamRegistry (DashMap<String, Arc<AtomicResumableStreamBuffer>>) to ServerState, append streamed token chunks in stream_llm_with_pref_and_events (salvage_and_stream.rs), and expose vox_chat_stream_resume in dispatch.rs so secondary tabs or reconnecting clients can atomically catch up (catch_up_and_subscribe) from any character offset.
  • T3-LOOP-CHECKPOINT-04: Add a shared ThreadRunQueue to ServerState, expose vox_chat_queue_steer (enqueue / promote_to_steer / drain) in dispatch.rs, and drain promoted QueueDisposition::Steer prompts at the top of each agent_loop.rs iteration so users can steer an in-flight multi-step tool loop without cancelling the turn.

4. Phase 268: Stateful t3_wave3_tools.rs: Concurrent join_all LLM Consensus Fan-Out, Live Transcript Hydration/Persistence for vox_context_handoff & vox_session_* & Persistent GuestShareService (T3-STATEFUL-TOOLS)

Section titled “4. Phase 268: Stateful t3_wave3_tools.rs: Concurrent join_all LLM Consensus Fan-Out, Live Transcript Hydration/Persistence for vox_context_handoff & vox_session_* & Persistent GuestShareService (T3-STATEFUL-TOOLS)”
  • T3-STATEFUL-TOOLS-01: Upgrade handle_consensus_run in crates/vox-orchestrator-mcp/src/t3_wave3_tools.rs so that when pre-computed legs are not supplied, it dispatches real concurrent async completions across the requested models via futures_util::future::join_all (call_llm_with_pref with per-leg timeout and graceful deterministic fallback when offline/no API key is configured), scores each leg with analyze_response_quality, and synthesizes the winning consensus response.
  • T3-STATEFUL-TOOLS-02: Upgrade handle_context_handoff in crates/vox-orchestrator-mcp/src/t3_wave3_tools.rs to hydrate source_thread_id’s live conversation history from ServerState (context_history_or_hydrate(state, &format!("chat_history:{source_thread_id}"))) when turns is omitted, and persist the generated handoff brief as the initial system/context entry of chat_history:{new_thread_id}.
  • T3-STATEFUL-TOOLS-03: Upgrade handle_session_import_external, handle_session_export_bundle, and handle_session_import_bundle in crates/vox-orchestrator-mcp/src/t3_wave3_tools.rs to read real external session files (file_path or auto-discovered latest JSONL/JSON under ~/.claude/projects, ~/.codex/sessions, ~/.cursor/chats), hydrate real session transcripts from ServerState on export, and persist imported turns into chat_history:{session_id} + VoxDb on import.
  • T3-STATEFUL-TOOLS-04: Move GuestShareService onto ServerState (guest_share_service: Arc<RwLock<GuestShareService>>) so minted share tokens and pending guest prompts persist across RPC calls, and when vox_guest_share_moderate approves a guest prompt (approve: true), append the approved guest message directly into chat_history:{thread_id}.

5. Phase 269: vox_chat_regenerate & vox_chat_edit_message_in_place Backend MCP Tools, DelegationWorktree Lease/Env Wiring, submit_webhook_events Dedupe/Rate Gate & Compact vox_orchestrator_status (T3-REGEN-WORKTREE)

Section titled “5. Phase 269: vox_chat_regenerate & vox_chat_edit_message_in_place Backend MCP Tools, DelegationWorktree Lease/Env Wiring, submit_webhook_events Dedupe/Rate Gate & Compact vox_orchestrator_status (T3-REGEN-WORKTREE)”
  • T3-REGEN-WORKTREE-01: Implement chat_edit_message_in_place (vox_chat_edit_message_in_place, mutating a message’s content in-place in chat_history:{session_id} and marking edited_in_place: true without truncating subsequent turns) and chat_regenerate (vox_chat_regenerate, truncating from the target message onward and re-invoking chat_message with stored GenerationPostureSnapshot or model_override) in crates/vox-orchestrator-mcp/src/chat_tools/chat/history.rs and register them in tool_registry.rs, input_schemas.rs, and dispatch.rs.
  • T3-REGEN-WORKTREE-02: Wire WorkspaceLeaseMap::global().lease_for(repo_root) and provision_untracked_env_files(repo_root, &wt_path) into DelegationWorktree::create in crates/vox-orchestrator-mcp/src/agy_worktree.rs so concurrent worktree creations serialize on .git/index.lock and automatically receive safe .env junction/copy provisioning.
  • T3-REGEN-WORKTREE-03: Wire WebhookDedupeAndRateGate::admit_delivery into submit_webhook_events in crates/vox-orchestrator-mcp/src/server_state/webhook_intake.rs so duplicate delivery_ids within the 5-minute TTL window and bursts exceeding 60 deliveries/min per channel are rejected before entering webhook_inbox.
  • T3-REGEN-WORKTREE-04: Wire args["compact"] and args["omit_idle_subagents"] in dispatch.rs (vox_orchestrator_status) to call dei_tools::orchestrator_status_compact(state, omit_idle_subagents), and upgrade crates/vox-orchestrator-mcp/tests/transfer_budget.rs to test the real orchestrator_status_compact and cap_and_summarize_tool_output functions on a 900-row / 1.1 MiB fixture.

6. Phase 270: t3Wave3Rpc.ts Nested Tauri Envelope Unwrapping, Live ChatTranscript.tsx In-Place Edit & Posture-Aware Regeneration & Full-Stack Verification (T3-GUI-ENVELOPE)

Section titled “6. Phase 270: t3Wave3Rpc.ts Nested Tauri Envelope Unwrapping, Live ChatTranscript.tsx In-Place Edit & Posture-Aware Regeneration & Full-Stack Verification (T3-GUI-ENVELOPE)”
  • T3-GUI-ENVELOPE-01: Fix unwrapMcpData in crates/vox-gui/ui/src/transport/t3Wave3Rpc.ts to recursively unwrap Tauri’s { is_error: boolean, result: unknown } wrapper, stringified JSON payloads, MCP { content: [{ type: 'text', text: '...' }] } blocks, and { success: boolean, data: T, error?: string } envelopes (throwing on is_error === true or success === false so real backend responses never fall through to mock objects).
  • T3-GUI-ENVELOPE-02: Add typed RPC client helpers editChatMessageInPlace, regenerateChatTurn, compactChatUpTo, resumeChatStream, and steerChatQueue to crates/vox-gui/ui/src/transport/t3Wave3Rpc.ts and export them from crates/vox-gui/ui/src/transport.ts.
  • T3-GUI-ENVELOPE-03: Wire in-place assistant message editing (editChatMessageInPlace with [Edited] badge) and posture-aware message regeneration (regenerateChatTurn) into crates/vox-gui/ui/src/components/chat/ChatTranscript.tsx.
  • T3-GUI-ENVELOPE-04: Add comprehensive Vitest unit tests in crates/vox-gui/ui/src/transport/__tests__/t3Wave3Rpc.test.ts testing nested Tauri { is_error: false, result: { success: true, data: ... } } and stringified MCP content unwrapping across all RPC helpers, and verify all Rust tests, Vitest suites, tsc --noEmit, vox-code-audit, vox-arch-check, and vox-doc-pipeline gates pass with zero errors.

Requirement IDPhaseCategoryStatus
T3-SALVAGE-RULES-01Phase 265tool:<name> Fence SalvageComplete
T3-SALVAGE-RULES-02Phase 265Live @rule:<name> Mention ResolutionComplete
T3-SALVAGE-RULES-03Phase 265Live $variable System Prompt InterpolationComplete
T3-SALVAGE-RULES-04Phase 265Salvage & Rule/Variable Pipeline VerificationComplete
T3-HIST-BATTERY-01Phase 266Live context_sanitizer in conversation.rsComplete
T3-HIST-BATTERY-02Phase 266vox_chat_compact_up_to Anchor CompactionComplete
T3-HIST-BATTERY-03Phase 266Live BatteryCostLedger & VoxIdAllocatorV2Complete
T3-HIST-BATTERY-04Phase 266Real ResponseQualityAnalyzer TelemetryComplete
T3-LOOP-CHECKPOINT-01Phase 267Live \r Normalization & 20 KiB DOM SheddingComplete
T3-LOOP-CHECKPOINT-02Phase 267Automatic Pre-Write Sparse Git CheckpointsComplete
T3-LOOP-CHECKPOINT-03Phase 267Live ResumableTurnStreamRegistry & RPCComplete
T3-LOOP-CHECKPOINT-04Phase 267Mid-Turn ThreadRunQueue Steer DrainingComplete
T3-STATEFUL-TOOLS-01Phase 268Real Concurrent join_all LLM ConsensusComplete
T3-STATEFUL-TOOLS-02Phase 268Stateful vox_context_handoff HydrationComplete
T3-STATEFUL-TOOLS-03Phase 268Stateful vox_session_* File Scan & PersistenceComplete
T3-STATEFUL-TOOLS-04Phase 268Persistent ServerState GuestShareServiceComplete
T3-REGEN-WORKTREE-01Phase 269vox_chat_regenerate & vox_chat_edit_message_in_placeComplete
T3-REGEN-WORKTREE-02Phase 269DelegationWorktree Lease & .env ProvisioningComplete
T3-REGEN-WORKTREE-03Phase 269submit_webhook_events Dedupe & Rate GateComplete
T3-REGEN-WORKTREE-04Phase 269Compact vox_orchestrator_status & Budget TestComplete
T3-GUI-ENVELOPE-01Phase 270t3Wave3Rpc.ts Nested Tauri Envelope UnwrappingComplete
T3-GUI-ENVELOPE-02Phase 270Typed Regenerate/Edit/Compact/Resume/Steer RPCsComplete
T3-GUI-ENVELOPE-03Phase 270ChatTranscript.tsx In-Place Edit & Regenerate UIComplete
T3-GUI-ENVELOPE-04Phase 270Full-Stack Verification & Gate ClosureComplete
URBS-LOUPE-01Phase 271workspace_file_diff_and_diagnostics Tauri RPCComplete
URBS-LOUPE-02Phase 271SpeculumLoupePopover.tsx Diff & Diagnostic LoupeComplete
URBS-LOUPE-03Phase 2711-Click Stage / Revert / Dispatch-Fix ActionsComplete
URBS-LOUPE-04Phase 271Inline Diff & Diagnostic Loupe TestsComplete
URBS-COLLISION-01Phase 272collisionRadar.ts Write-Set & Blast-Radius OverlapComplete
URBS-COLLISION-02Phase 272Surveyor Cones & Crossed-Swords Collision StandardComplete
URBS-COLLISION-03Phase 2721-Click Serialize Agents & Split Worktree ActionsComplete
URBS-COLLISION-04Phase 272Multi-Agent Collision Radar TestsComplete
URBS-VIADUCT-01Phase 273TownDependencyEdge & layers.toml Inversion ScannerComplete
URBS-VIADUCT-02Phase 273Viaduct Hit-Testing & Cracked Red Arch KeystoneComplete
URBS-VIADUCT-03Phase 273PONS CONTRACTVS Viaduct Contract Inspector PanelComplete
URBS-VIADUCT-04Phase 273Viaduct Contract & Layer-Inversion TestsComplete
URBS-QUARANTINE-01Phase 274ServerState quarantined_paths & MCP/Tauri ToolsComplete
URBS-QUARANTINE-02Phase 274Pre-Execution Write Guard in agent_loop.rsComplete
URBS-QUARANTINE-03Phase 2743D Wrought-Iron Perimeter Portcullis & Alt+Click LockComplete
URBS-QUARANTINE-04Phase 274Hard Quarantine Guard & UI TestsComplete
URBS-SCRUBBER-01Phase 275vox_vcs_checkpoint_diff_summary Checkpoint Delta RPCComplete
URBS-SCRUBBER-02Phase 275ViaTemporisScrubber.tsx Sundial Milestone TimelineComplete
URBS-SCRUBBER-03Phase 275Historical Building Diff Preview & 1-Click RollbackComplete
URBS-SCRUBBER-04Phase 275Milestone Road Time-Scrubber TestsComplete
URBS-DOCK-01Phase 276[🏛 Tactical Map ⌘M] Split-Dock Workbench ToggleComplete
URBS-DOCK-02Phase 276Bi-Directional District Filter with Chat/ReviewComplete
URBS-DOCK-03Phase 276Real-Time Tool-Call Mechanism Animation PulsesComplete
URBS-DOCK-04Phase 276Full-Stack & Playwright CV Flywheel ClosureComplete
URBS-MAT-01Phase 277PbrMaterialAtlas Pitted Roman Travertine AshlarComplete
URBS-MAT-02Phase 277Scalloped Terracotta Roof Tiles & Cobblestone PlazasComplete
URBS-MAT-03Phase 277Stratified Basalt Cliffs & Anisotropic Bronze ShadersComplete
URBS-MAT-04Phase 277Procedural Material Synthesis Unit TestsComplete
URBS-DEPTH-01Phase 278drawIsoCastShadow Projected Directional ShadowsComplete
URBS-DEPTH-02Phase 278Vertical Face Gradients & Travertine Texture OverlayComplete
URBS-DEPTH-03Phase 278Specular Chamfer Highlights Replacing Cartoon StrokesComplete
URBS-DEPTH-04Phase 278Depth Shading & Cast Shadow TestsComplete
URBS-TERRAIN-01Phase 279Mediterranean Twilight Bathymetric Sea Depth FieldComplete
URBS-TERRAIN-02Phase 279Layered Coastal Surf Foam & Cliff-Base ReflectionsComplete
URBS-TERRAIN-03Phase 279Stratified Cliff Geology & Cobblestone Terrace PavingComplete
URBS-TERRAIN-04Phase 279Bathymetric Terrain & Cliff Layering TestsComplete
URBS-LIGHT-01Phase 280Inter-Terrace Atmospheric Elevation MistComplete
URBS-LIGHT-02Phase 280Diagonal Crepuscular Volumetric God-RaysComplete
URBS-LIGHT-03Phase 280Additive Point-Light GI Pools & Cinematic VignetteComplete
URBS-LIGHT-04Phase 280Atmospheric Lighting & Post-Processing TestsComplete
URBS-FX-01Phase 281Rising Forge & Error Ember EmittersComplete
URBS-FX-02Phase 281Volumetric Smoke Plumes & Waterfall Mist/CausticsComplete
URBS-FX-03Phase 281Mason Chisel Sparks & Golden Viaduct Token TrailsComplete
URBS-FX-04Phase 281Deterministic Particle FX Engine TestsComplete
URBS-DIEGETIC-01Phase 282Chiseled Cliff-Apron Architrave District PlaquesComplete
URBS-DIEGETIC-02Phase 282Architecture-First HUD Progressive DisclosureComplete
URBS-DIEGETIC-03Phase 282Photorealistic Sprite Atlas Gradient & Shadow UpgradeComplete
URBS-DIEGETIC-04Phase 282Full-Stack & Playwright CV Flywheel v5.0 ClosureComplete
T3-PROMPT-LOOP-01Phase 283system_prompt $variable Fix & Worktree Branch DetectionComplete
T3-PROMPT-LOOP-02Phase 283Full context_sanitizer Tag Set & thought_signature ExtractionComplete
T3-PROMPT-LOOP-03Phase 283ToolRefusalDetector & Per-Turn Search Circuit BreakerComplete
T3-PROMPT-LOOP-04Phase 283LazyMcpGroupRegistry Meta-Tools & Env SanitizerComplete
T3-STREAM-QUEUE-01Phase 284Live ResumableTurnStreamRegistry & vox_chat_stream_cancelComplete
T3-STREAM-QUEUE-02Phase 284ThreadRunQueue pop_next_follow_up & Background SettlementComplete
T3-STREAM-QUEUE-03Phase 284ModelRegistry::compute_turn_cost_delta & 4h/Monthly QuotaComplete
T3-STREAM-QUEUE-04Phase 284SessionPrivacyPosture::Ephemeral Disk Persistence GateComplete
T3-WORKTREE-CKPT-01Phase 285Async tokio::sync::Mutex Worktree Lease & Persistent Webhook GateComplete
T3-WORKTREE-CKPT-02Phase 285Monotonic Sparse Checkpoints, NTFS Sanitization & Clean RestoreComplete
T3-WORKTREE-CKPT-03Phase 285Real Linked Worktrees in MultiVariantWorktreePoolComplete
T3-WORKTREE-CKPT-04Phase 285Unwrapped orchestrator_status_compact & LiveBodyDeduperComplete
T3-TOOLS-HARDENING-01Phase 286UTF-8 Boundary Safety & HandoffStrategy::Summarized DigestComplete
T3-TOOLS-HARDENING-02Phase 286Multi-Provider Consensus & Synthesizer Judge PassComplete
T3-TOOLS-HARDENING-03Phase 286Depth-4 External Session Discovery & Real Guest Share RPCsComplete
T3-TOOLS-HARDENING-04Phase 286Server-Enforced authorize_wave3_call & Real File DiagnosticsComplete
T3-GUI-PIPELINE-01Phase 287Unified message_id & Telemetry Across Tauri/MCP + DB SyncComplete
T3-GUI-PIPELINE-02Phase 287Live User+Assistant Edit, Executing Regenerate & ✂ Compact HereComplete
T3-GUI-PIPELINE-03Phase 287Mid-Turn [⚡ Steer] / [+ Queue Next] & Enter-Key Fix in LoquelaComplete
T3-GUI-PIPELINE-04Phase 287streamWatchdog.ts, resumeChatStream & Full Modal/Rail WiringComplete
T3-AUDIT-PARITY-01Phase 288T3 Detector Registration in diagnostics/catalog.rsComplete
T3-AUDIT-PARITY-02Phase 288unreasoned_suppression & test_clock_and_skip ParityComplete
T3-AUDIT-PARITY-03Phase 288mcp_access_and_error_safety & ui_perf_hazards ParityComplete
T3-AUDIT-PARITY-04Phase 288Zero-Violation Workspace Remediation (43 Sites)Complete
URBS-SMOOTH-LIGHT-01Phase 289Pre-Building Ground-Plane Bounce IlluminationComplete
URBS-SMOOTH-LIGHT-02Phase 2892D-Feathered Elliptical Sun-Shafts (drawVolumetricGodRays)Complete
URBS-SMOOTH-LIGHT-03Phase 289Soft Torch Shimmer & Window Rim-Light (drawAnimatedWorldEffects)Complete
URBS-SMOOTH-LIGHT-04Phase 2892π-Periodic Seamless Sea Water Tile (pbrMaterials.ts)Complete
URBS-GROUNDS-01Phase 290Orthogonal Cardo & Decumanus Basalt Streets & CurbsComplete
URBS-GROUNDS-02Phase 290Inlaid Opus Sectile Marble Forum PlazasComplete
URBS-GROUNDS-03Phase 290Vaulted Substructio Cliff Arcades & Buttress PilastersComplete
URBS-GROUNDS-04Phase 290Terrace Parapet Balustrades, Obelisks & Cypress HortiComplete
URBS-ARCH-DETAIL-01Phase 291Ground-Floor Rusticated Arcades (Fornices) & KeystonesComplete
URBS-ARCH-DETAIL-02Phase 291Inter-Story Stringcourse Belt Cornices (Marcapiano) & QuoinsComplete
URBS-ARCH-DETAIL-03Phase 291Recessed Atrium Impluvium Rainwater Basins (T1 Domus)Complete
URBS-ARCH-DETAIL-04Phase 291Sculpted Rooftop Acroteria Finials & Hypocaust ChimneysComplete
URBS-HYDRAULIC-01Phase 292Integrated Aquaeductus Trunk & Castellum DivisoriumComplete
URBS-HYDRAULIC-02Phase 292Pressurized Fistulae Supply Pipes & Bronze Sluice ValvesComplete
URBS-HYDRAULIC-03Phase 292Recessed Cloaca Maxima Sewer Trenches & Inspection GratesComplete
URBS-HYDRAULIC-04Phase 292Cliff-Wall Cloaca Sea Outfalls & Sluice CascadesComplete
URBS-CONDUIT-ANIM-01Phase 293AQUA PURA Cyan Chevron Wave-Crest Supply PulsesComplete
URBS-CONDUIT-ANIM-02Phase 293IGNIS OPERIS Gold Diamond Ingot Agent WIP StreamComplete
URBS-CONDUIT-ANIM-03Phase 293CLOACA FAULT Crimson Warning Triangle Error BackpressureComplete
URBS-CONDUIT-ANIM-04Phase 293VIA VICTORIAE Emerald Circular Seal Medallion FlowComplete
URBS-SEMIOTICS-CV-01Phase 294Diegetic Hydraulic Sluice-Gate Callouts & Isometric RoutingComplete
URBS-SEMIOTICS-CV-02Phase 294Multi-Channel Shape+Color Hydraulic Flow LegendComplete
URBS-SEMIOTICS-CV-03Phase 294hydraulicNetwork.test.ts & Lighting/Material Unit TestsComplete
URBS-SEMIOTICS-CV-04Phase 294End-to-End & Playwright CV Flywheel v5.2 ConvergenceComplete
URBS-EDGE-PBR-01Phase 295Feathered Elliptical Coastal Shoals & Surf GradientsComplete
URBS-EDGE-PBR-02Phase 295Low-Laplacian Macro-Shaded PBR Stone & Cobble SynthesisComplete
URBS-EDGE-PBR-03Phase 295Smooth Specular Ocean Swell RibbonsComplete
URBS-EDGE-PBR-04Phase 295Soft Tonal Edge Bevels Replacing Cartoon Ink OutlinesComplete
URBS-TERRACE-CRAFT-01Phase 296True Isometric Molded Parapet Copings & Beveled BastionsComplete
URBS-TERRACE-CRAFT-02Phase 296Seamless Intersection-Free Cardo & Decumanus PavingComplete
URBS-TERRACE-CRAFT-03Phase 296Recessed Multi-Ring Opus Sectile Forum & Peristyle ColumnsComplete
URBS-TERRACE-CRAFT-04Phase 296Overhanging Travertine Cliff Cornice (Geison) & Drop ShadowComplete
URBS-ARCH-REALISM-01Phase 2973D Cylindrical Normal-Shaded Tabularium & Coffered DomeComplete
URBS-ARCH-REALISM-02Phase 297Recessed Isometric Window Reveals & Interior LamplightComplete
URBS-ARCH-REALISM-03Phase 297Sculpted Pediment Tympanums, Porticoes & Step StylobatesComplete
URBS-ARCH-REALISM-04Phase 2973D Monumental AQVAE, CASTRVM, PORTVS & PORTA ComplexesComplete
URBS-PLUMBING-3D-01Phase 298Continuous 3D Multi-Tiered Aqua Claudia Aqueduct BridgeComplete
URBS-PLUMBING-3D-02Phase 298Curved Beveled Isometric Pipe Elbows (quadraticCurveTo)Complete
URBS-PLUMBING-3D-03Phase 298Sub-Roof Ground-Layer Routing for All ConduitsComplete
URBS-PLUMBING-3D-04Phase 298Stepped Stone Cataracta Sluice-Drops & Vaulted Sea OutfallsComplete
URBS-FLOW-SEMIOTICS-01Phase 299Soft Radial Halo Backlighting & Comet Trails on 4 Shape ChannelsComplete
URBS-FLOW-SEMIOTICS-02Phase 299Dynamic Flow Rate, Pipe Gauge & Pressure Pulsing by LoadComplete
URBS-FLOW-SEMIOTICS-03Phase 299Diegetic Castellum Sluice-Gate Manifold & Perimeter PortsComplete
URBS-FLOW-SEMIOTICS-04Phase 299Unified Semiotic Legend Pill with Vector Shapes & CountersComplete
URBS-CV-MAX-01Phase 300Unit Tests for Beveled Conduits & Low-Noise PBRComplete
URBS-CV-MAX-02Phase 300Positive CV Noise Reduction (noiseFloor < 5.1) & Score MaximizationComplete
URBS-CV-MAX-03Phase 30032-Surface Zero-Regression VerificationComplete
URBS-CV-MAX-04Phase 300Visual Critique & Before/After Blueprint DocumentationComplete