Daily Operations Rhythm — Operating Procedure (Audit-Produced)

← Back to Operating Procedures g-01-daily-operations-rhythm.md

Daily Operations Rhythm — Operating Procedure (Audit-Produced)

Process ID: G-01 Owner: V (strategic rhythm ownership) + Marshal (command execution) Org: Operations | Leader: V (COO) | Executor: Marshal (per command frontmatter) Tier: 1 (Critical) — upgraded from Tier 2 under audit 2026-04-21 Frequency: Daily, manual trigger (Chris invokes /daily-ops). No cron/daemon auto-run. Last Verified: 2026-04-21 (by audit docs/quality/audits/2026-04-21-G-01-interview.md) Verification Score: 12% (5 VERIFIED / 41 non-NOT-BUILT steps, conservative per audit) Operational Status: NOT OPERATIONAL — 3 Major NCs open (see audit). Process runs but the cardinal cascade rule (Rule 3.b in the audit) is in a live-failure state and the half-persisted Apr 20 weekly_big3 Listing remains unrepaired as of this document's creation. Audit Reference: docs/quality/audits/2026-04-21-G-01-interview.md (first G-15-compliant audit) Originating CAR: docs/quality/cars/2026-04-20-corrective-operational-rhythm-cascade.md (open) Pre-protocol draft (superseded): docs/operating-procedures/superseded/g-01-daily-operations-rhythm-20260421-pre-protocol.md


Overview

G-01 is the daily execution layer of the Operational Rhythm Cascade. It is invoked manually by Chris as /daily-ops, forks into Marshal's context, and produces two primary artifacts:

  • .claude/daily/{YYYY-MM-DD}-standup.md — per-leader handoff consumed by /activate {leader} and by tomorrow's /daily-ops rollforward
  • HubSpot Listing document_type: daily_focus — the Daily Big 3 persisted via Ledger, associated to VFT Company (49241304942, typeId 884)

The cardinal contract: G-01 MUST read the upstream weekly_big3 Listing and surface its content in the briefing. Any failure of that read must halt loudly — the Apr 20, 2026 incident (see CAR) proved that silent defaulting severs the Quarterly → Weekly → Daily cascade and decouples tactical execution from strategic intent.

This SOP is the audit-produced replacement of the 2026-04-21 pre-protocol draft. It documents what G-01 actually does today — not what it could do if all the CAR remediations were applied. Marker honesty is the only acceptable posture: VERIFIED means tested today, UNTESTED means specified but unobserved, BLOCKED means the path is broken and evidence is in the audit artifact.


Ownership Split (Per Audit Minor NC-1)

Role Agent Scope
Strategic rhythm owner V (COO) Defines what the morning briefing IS (sections, priorities, the cascade contract). Authors changes to .claude/commands/daily-ops.md when the rhythm's shape changes.
Command executor Marshal (via context: fork, model: sonnet, effort: max) Runs the command as written. Spawns specialists. Assembles briefing. Writes handoff file. Routes daily_focus write to Ledger.

Historical context: V executed /daily-ops directly from 2026-02 through 2026-04-17. On or before 2026-04-20, execution moved to Marshal (the Apr 20 standup was produced by the Marshal-led command). This ownership transition is not yet cleanly reflected in all references (see Audit OFI-3 on command-text V executes phrasing).


Cascade Position

G-05 /leadership-meeting (quarterly)
    |
    | produces: Listing(document_type: quarterly_big3)
    v
G-02 /weekly-plan (Sunday)
    |
    | produces: Listing(document_type: weekly_big3)     <--- G-01 READS (currently BLOCKED via CLI filter)
    |           Listing(document_type: weekly_plan)
    v
G-01 /daily-ops (THIS PROCEDURE)
    |
    | reads:    weekly_big3 Listing (REQUIRED — hard gate NOT BUILT as of this SOP)
    |           yesterday daily_focus Listing (rollover — BLOCKED via same filter bug)
    |           yesterday daily_recap Listing (open loops — BLOCKED via same filter bug)
    |           calendar, inbox, intelligence briefs, BU health
    |
    | produces: Listing(document_type: daily_focus) via Ledger
    |           .claude/daily/{YYYY-MM-DD}-standup.md
    |
    | feeds:    /midday-check, /daily-recap, /activate {leader}, tomorrow's /daily-ops
    v
G-03 /weekly-review (Friday)

Full cascade map: docs/quality/operational-rhythm-cascade.md (not yet produced — required by Apr 20 CAR).


System Architecture

Manual trigger: /daily-ops (Chris)
    |
    v
Marshal agent (forked context, sonnet, effort=max)
    |
    +-- Phase 1: Startup (load enforcement + memory + identity)
    +-- Phase 2: Cascade Read (upstream Big 3 Listings)  <--- CRITICAL PATH, currently BLOCKED
    +-- Phase 3: Specialist Agent Spawns (7 in parallel)
    +-- Phase 4: Inline Data Pulls (calendar, inbox, canonical, BU health)
    +-- Phase 5: Integration & Presentation (Data Quality + 20 briefing sections)
    +-- Phase 6: Set Daily Big 3 + Persist via Ledger
    +-- Phase 7: Write Standup Handoff
    +-- Phase 8: Focus Selection & Closure

External dependencies:

  • HubSpot VF Team portal (40810431) — reads via scripts/hubspot/api.js (currently bugged on --filters) or local MCP hubspot-search-objects (preferred fallback). Writes via Ledger.
  • Google Workspace — calendar, inbox via scripts/google/*.js or gws CLI
  • Filesystem — .claude/daily/, memory/, agents/*/reports/
  • Agent spawn infrastructure — Task tool with subagent_type routing

Gateway obligations:

  • All HubSpot writes (Phase 6) route through Ledger.
  • All Sanity writes (none expected in G-01) route through Canon.

Phase 1: Startup and Context Load

Step Action Owner System Status Evidence
1.1 Fork context with context: fork, model: sonnet, effort: max per command frontmatter lines 1-5 /daily-ops runtime Claude Code VERIFIED 2026-04-21 Command file read by auditor. 23 forked executions produced standup files since 2026-03-17.
1.2 Marshal reads skills/enforcement/vf-platform-context.md and vf-self-correction.md Marshal Filesystem UNTESTED Load is mandated by command Startup block lines 9-10. No session log captures the read events. Apr 20 standup contains no forbidden language (negative evidence only). See Audit OFI-1 on adding a read-event hook.
1.3 Marshal reads memory/shared-context.md (Standing Orders — override all other memory) Marshal Claude project memory (~/.claude/projects/-mnt-d/memory/) UNTESTED Same caveat as 1.2. Path-resolution via Claude project memory (not monorepo filesystem) is a known subtlety.
1.4 Marshal reads operational memory: memory/operations.md, memory/clients.md, memory/roadmap.md Marshal Claude project memory UNTESTED Same caveat as 1.2-1.3.
1.5 Confirm HubSpot portal context via hubspot-vf-context(verify: true) or equivalent Marshal Local MCP or CLI UNTESTED Command line 92 references this. No observable gate in produced standup files. Token-loading IS confirmed to work (node scripts/hubspot/api.js --help shows "Token: Loaded from vf-team (production)") but the explicit context-verify call is not independently tested.

Phase 2: Cascade Read (THE CRITICAL PATH — currently BLOCKED)

This is where the cascade contract is honored or broken. Every step in this phase MUST fail loudly if upstream data is missing or malformed — never silently default.

Step Action Owner System Status Evidence
2.1 Read most recent quarterly_big3 Listing: search listings --filters '[{"propertyName":"document_type","operator":"EQ","value":"quarterly_big3"}]' --limit 1 --sorts '[{"propertyName":"hs_createdate","direction":"DESCENDING"}]' Marshal scripts/hubspot/api.js BLOCKED 2026-04-21 CLI --filters silently dropped. Live reproduction: filter call returned total: 536 with document_type: null on results. Fallback: use local MCP hubspot-search-objects (server-side filters work) OR post-query filter in caller.
2.2 REQUIRED: Read most recent weekly_big3 Listing (same pattern as 2.1 with document_type = "weekly_big3") Marshal scripts/hubspot/api.js BLOCKED 2026-04-21 Same CLI bug as 2.1. Additionally, the most-recent weekly_big3 Listing 549307086996 (from 2026-04-20) has name: null per live direct-read — half-persisted by Ledger. Two compounding defects.
2.3 HARD GATE (NOT BUILT): If 2.2 returns empty, name: null, or empty body — STOP. Raise explicit error with: searched document_type, most recent Listing ID, URL, reference to CAR. Do NOT continue to Present. Marshal Error path NOT BUILT This gate is the Apr 20 CAR's permanent-fix requirement. Currently the command silently defaults to "Weekly Big 3 not set" (Apr 20 line 35). Error text format is an open question for Chris (see Open Questions §).
2.4 Read yesterday's daily_focus Listing (for rollover): document_type = "daily_focus", sort desc, limit 2 (today + yesterday). If today's exists, parse items[] array and detect incomplete entries (completed: false) → rollover candidates. Marshal scripts/hubspot/api.js BLOCKED 2026-04-21 Same CLI filter bug. Direct-read by ID works; filter-by-property doesn't.
2.5 Read yesterday's daily_recap Listing for session intelligence and open loops: document_type = "daily_recap", sort desc, limit 1. Marshal scripts/hubspot/api.js BLOCKED 2026-04-21 Same CLI filter bug.
2.6 Read BU Big 3 Listings per BU leader: document_type = "daily_focus", sort desc, limit 15. Client-side filter by document_authors matching each BU leader codename (marquee, provost, trellis, foundry, exchange, relay, aegis). Marshal scripts/hubspot/api.js BLOCKED 2026-04-21 Same CLI filter bug on primary read. Soft-fail is acceptable for per-BU row (see 2.7).
2.7 Soft-fail contract for BU Big 3: if a per-BU lookup returns empty, label that row "Not set" + recommend command (e.g., "Run /media-brief to set Marquee's daily_focus"). Do NOT hard-fail the whole rhythm on BU absence. Marshal In-memory ASSUMED Implied by current structure. Distinguishing "missing Weekly Big 3 = HARD FAIL" from "missing BU Big 3 = SOFT WARN" is a cascade-design decision — confirmed as the right distinction by audit but not formally codified in the command text.

Phase 3: Specialist Agent Spawns (Parallel)

Marshal spawns seven named specialists in parallel via the Task tool. Per .claude/agents/marshal.md line 77 ("No Domain Expertise Calls"), Marshal coordinates and verifies — does not absorb domain work.

Step Spawn Model Domain Status Evidence
3.1 Sentinel sonnet Overnight relationship intelligence, session gaps, Value Path movement, transcript signals, portal freshness UNTESTED Apr 20 standup mentions "Sentinel STALE 33d" — evidence Sentinel was queried for freshness, not that Sentinel was spawned. Distinguishing stale-file reads from stale-agent-responses requires tool-use telemetry.
3.2 Pulse sonnet Portfolio health, commercial signals, engagement trends. Runs npx tsx agents/business-health/daily-scan.ts UNTESTED Same observation issue. Apr 20 standup reports "Pulse STALE 13d" — report-file-age, not spawn-state.
3.3 Beacon sonnet Overnight operational output: git commits, new transcript/session files, builds deployed, open WCP items, Claude Code version check UNTESTED Apr 20 standup Operations section ("KIL Wave 1+2 shipped Sunday", "20 commits overnight") is evidence Beacon-style intelligence landed in the briefing. Whether Beacon was spawned or Marshal inlined the work cannot be distinguished from the artifact.
3.4 Prelude sonnet Media pre-production: today's show schedule, Mux readiness, guest briefs UNTESTED Apr 20 Marquee section ("NVENC relay end-to-end test before noon") evidence — source attribution ambiguous.
3.5 Encore sonnet Media post-production backlog: unprocessed recordings, unlinked episodes, transcript gaps UNTESTED Same.
3.6 Marshal-as-task-sweeper sonnet Project task currency on Agent Operations pipeline (888442804): stale tasks >7 days, blocked work, agent workload UNTESTED + STRUCTURAL CONCERN Command Team table line 38 lists Marshal as teammate while Marshal is also the command lead. Re-entrancy is undocumented. May be a second Task spawn or an inline method — ambiguity confirmed at audit, not resolved.
3.7 Ledger haiku Prepare to persist daily_focus after Chris confirms UNTESTED + BLOCKED DOWNSTREAM Ledger spawn is mandatory for the Phase 6 write. Ledger's contract has the Apr 20 validation gap (Major NC-3) — spawn path may work but the write path has proven unreliable.

Phase 4: Inline Data Pulls (Parallel with Agent Spawns)

Step Action Owner System Status Evidence
4.1 Run ./scripts/datetime.sh for accurate date/day-of-week Marshal Bash VERIFIED 2026-04-21 Auditor executed. Returned DATE_ISO=2026-04-21, DAY_OF_WEEK=Tuesday. Script is a required gate per skills/enforcement/vf-self-correction.md — never derive day-of-week from model reasoning.
4.2 node scripts/google/get-calendar.js for today + tomorrow events Marshal Bash UNTESTED Script exists (auditor confirmed via ls). Not executed in audit — no client-session context.
4.3 node scripts/google/get-inbox.js for last 24h inbox Marshal Bash UNTESTED Script exists. Not executed in audit.
4.4 node scripts/hubspot/get-social-schedule.js Marshal Bash UNTESTED Script exists. Not executed in audit.
4.5 node scripts/canonical/article-query.js --audit (NEVER use memory/content.md — MEMORY.md critical lesson feedback_content_drought_stale_memory.md) Marshal Bash UNTESTED Script exists. Rule is explicit in command and MEMORY.md.
4.6 node scripts/canonical/unified-audit.js for canonical data health Marshal Bash UNTESTED Script exists.
4.7 Read intelligence reports (Tide, Scout, Horizon) from agents/*/reports/*.md with 48h staleness quarantine Marshal Filesystem VERIFIED 2026-04-21 Auditor confirmed reports exist + confirmed mtimes: Tide 14d stale, Horizon 14d stale, Scout 7d stale. Apr 20 standup correctly flagged them "STALE" and did not present their data. Quarantine rule IS being applied.
4.8 Run BU health scripts (7 parallel) and read reports from agents/background-workers/reports/ Marshal Bash PARTIAL / BLOCKED 6 of 7 scripts exist: bu-media-health.ts, bu-academy-health.ts, bu-collective-health.ts, bu-apps-health.ts, bu-store-health.ts, aegis-org-health.ts. bu-relay-health.ts does NOT exist (confirmed via ls). Apr 20 standup acknowledges: "CHRISC-43 (open): bu-relay-health.ts worker does not exist — no automated health data." Dewey lists background-workers/ as DEACTIVATED ("on-demand only") which conflicts with inline invocation — reconciliation pending (see Audit OFI).
4.9 Run npx tsx agents/office-hours-intelligence/analyze.ts (Quorum) inline Marshal Bash UNTESTED Specified in command. Not executed in audit.
4.10 Run cd apps/website && npx tsx ../../agents/website-health/run-scan.ts (Lookout) inline Marshal Bash UNTESTED Specified in command. Not executed in audit.

Phase 5: Integration and Presentation

Step Action Owner System Status Evidence
5.1 Build Data Quality table as FIRST output section with per-source status: LIVE / STALE {N}d / MISSING / BROKEN Marshal In-memory VERIFIED 2026-04-21 Apr 20 standup header: "Intelligence quality: 5 of 14 sources live. Sentinel/Pulse/Tide/Horizon all stale. Four refresh runs needed today." Rule fires in production.
5.2 Render 20 briefing sections per command template Marshal In-memory ASSUMED Template in command. Apr 20 standup shows a subset (V/Sage/Pax/BU Leaders/Cross-Leader Flags). Not all 20 sections appear in the persisted handoff — handoff is a subset of full briefing. Distinction not formally specified.
5.3 Bold strongest signal per row in Inbox Assessment (V/Sage/Pax columns) Marshal In-memory UNTESTED Specified. Apr 20 handoff does not visibly contain Inbox Assessment table — may have been in the pre-persistence full briefing.
5.4 WCP Chris Decisions Queue: query open CHRISC items, filter by decision-keywords, flag OVERDUE >7d Marshal WCP MCP UNTESTED Command Phase 5.4 specifies. WCP MCP available. Execution not observed at audit.

Phase 6: Set Daily Big 3 and Persist via Ledger

Step Action Owner System Status Evidence
6.1 Propose Big 3 using priority order: (1) rolled-forward incomplete items (source: rolled_forward), (2) weekly_big3 uncompleted items (source: v_suggested, set linkedWeeklyId), (3) calendar-driven session prep (source: calendar), (4) goal-driven quarterly work (source: v_suggested) Marshal In-memory BLOCKED DOWNSTREAM Algorithm specified. Apr 20 Big 3 (NVENC relay, VF Data Part 6 prep, Paragon post-session) did NOT derive from weekly_big3 per the CAR — because the Phase 2.2 read failed. The priority algorithm is correct; it just cannot be applied when upstream reads are BLOCKED.
6.2 Ask Chris: "Lock them in" / "Let me adjust" / "Skip" Marshal Conversation ASSUMED Standard conversational gate.
6.3 If confirmed, route to Ledger with write spec: daily_focus Listing, hs_name: "{date}-Daily-Focus", body JSON with date, items[], document_type: "daily_focus", document_authors: "v", document_review_status: "approved", hubspot_owner_id: "474813558" Ledger HubSpot via CLI UNTESTED + RISK Spec defined. Ledger is the gateway (S-01, 68% verified). However Ledger's contract has the Apr 20 validation gap (see Phase 6.5). Risk: Ledger may persist with hs_name: null on this path the same way it did for the Apr 20 weekly_big3 Listing.
6.4 Ledger associates the new Listing to VFT Company (49241304942, association typeId 884) Ledger HubSpot VERIFIED 2026-04-21 typeId 884 is the established Listing → Company association pattern. CAR confirms "association to VFT Company is intact" even when the half-persistence defect fires.
6.5 NOT BUILT — REQUIRED: Post-write read-back. Ledger re-reads the created Listing by ID and asserts: hs_name non-null, body content present, document_type matches, association exists. On failure, surface with Listing ID. Ledger HubSpot NOT BUILT CAR's permanent-prevention requirement. Applies to daily_focus writes here AND weekly_big3 writes in G-02. This is Audit Major NC-3.
6.6 Confirm to Chris: "Locked in. Dashboard → valuefirstteam.com/my-value-path" Marshal Conversation ASSUMED Specified.

Phase 7: Write Standup Handoff File

Step Action Owner System Status Evidence
7.1 Construct handoff content from data ALREADY gathered — do NOT re-query. Sections: Standup Summary, Daily Big 3, V (Operations), Sage (Customer), Pax (Finance), BU Leaders (Relay/Marquee/Provost/Trellis/Foundry/Exchange/Aegis), Cross-Leader Flags. Marshal In-memory VERIFIED 2026-04-21 23 standup files follow this structure. Apr 20 handoff matches template exactly.
7.2 Write file: .claude/daily/{YYYY-MM-DD}-standup.md (filename uses DATE_ISO from datetime.sh, never model-inferred) Marshal Filesystem VERIFIED 2026-04-21 23 files with consistent naming convention.
7.3 Confirm to Chris: "Standup handoff written to .claude/daily/{date}-standup.md — each leader can pick up via /activate {name}" Marshal Conversation ASSUMED Specified.
7.4 PROPOSED (NOT BUILT): Post-write read-back. Assert file size > 500 bytes, contains Daily Big 3, V (COO), Sage (CCO), Pax (CFO) headers. On failure, surface. Marshal Filesystem NOT BUILT Symmetric to Phase 6.5. Worth confirming with Chris whether this is a hard gate or a soft warning (see Open Questions §).

Phase 8: Focus Selection and Closure

Step Action Owner System Status Evidence
8.1 Present 2-3 focus options from Recommended Actions. If client sessions on calendar, offer /meeting-prep {slug} Marshal Conversation ASSUMED Specified.
8.2 End without asking "anything else?" — Chris operates on momentum, not checklist (per skills/global/chris-operating-patterns.md) Marshal Conversation VERIFIED 2026-04-21 Rule codified. Apr 20 handoff ends cleanly. Active enforcement.

Downstream Consumers

Consumer Reads Produces SOP Status
/midday-check Today's daily_focus Listing, weekly_big3, calendar (elapsed vs upcoming) Conversational midday update (not persisted) Not documented. Part of G-01 command family. BLOCKED on same CLI filter bug.
/daily-recap Today's daily_focus (update completion), Quarterly Big 3 (progress), week's weekly_big3 daily_recap Listing, WCP rollforward, memory/operations.md update Not documented. Owns rollforward mechanism that becomes tomorrow's G-01 input at 2.4.
/activate {leader} Today's standup handoff file, per-leader section Per-leader focused session Not documented.
Tomorrow's /daily-ops Today's daily_focus (rollover), today's daily_recap (open loops) This SOP. Rollover path BLOCKED on CLI filter bug until Mender fix.

Known Gaps (Synthesized from Audit)

GAP-1 — CLI --filters silently dropped (Major NC-1, live as of 2026-04-21). scripts/hubspot/api.js --filters is ignored. Reproduction: search listings --filters '[{"propertyName":"document_type","operator":"EQ","value":"weekly_big3"}]' --limit 3 returned total: 536 with document_type: null on every result. Breaks Phase 2.1, 2.2, 2.4, 2.5, 2.6. Owner: Mender via CAR extension. Target: 2026-04-28.

GAP-2 — Half-persisted Listing 549307086996 unrepaired (Major NC-2, 4 days open). The Apr 20 weekly_big3 Listing has name: null and empty body. CAR specifies immediate repair; has not happened. Owner: Ledger via Q interview. Target: 2026-04-22.

GAP-3 — Ledger contract does not enforce hs_name non-null or post-write read-back (Major NC-3). Ledger's def specifies hs_name is the correct field but has no validation or read-back requirement. Half-persistence is the downstream symptom. Owner: Ledger (remediation) + Q (new CAR). Target: 2026-04-28.

GAP-4 — Hard gate at Phase 2.3 NOT BUILT (CAR requirement). Silent default to "Not set" is the Apr 20 failure mode. Command must raise explicit error with searched document_type + Listing ID + URL + CAR reference. Owner: V (strategic) + Hone (command-text update, per cross-layer consistency domain). Target: 2026-05-21 (re-audit date).

GAP-5 — Post-write read-back at Phase 6.5 NOT BUILT. Symmetric to the Ledger contract fix. Applies to daily_focus writes from this command. Owner: Ledger + V. Target: Paired with GAP-3.

GAP-6 — BU health coverage incomplete. bu-relay-health.ts missing (CHRISC-43 open since Apr 6+). Phase 4.8 documents 7 scripts; 6 exist. Owner: Relay (service delivery BU) + V. Priority: Medium.

GAP-7 — Deactivated-vs-invoked inconsistency on background-workers/. Dewey says DEACTIVATED ("on-demand only"); command invokes inline. Owner: Hone (cross-layer reconciliation) or Aegis (org-level call). Priority: Medium.

GAP-8 — Enforcement/memory load observability. Phase 1.2-1.4 loads are declared but unobservable. Consider a read-event hook. Owner: Hone. Priority: Low (OFI, not NC).

GAP-9 — Command text says "V executes these data pulls" (line 44) despite Marshal being the executor. Remnant of pre-handoff phrasing. Owner: Hone (command-text update). Priority: Low (OFI-3).

GAP-10 — Ownership mismatch across artifacts. Register says Owner = V; command runs as Marshal; pre-protocol draft said Owner = V. This SOP resolves to "V (strategic) + Marshal (executor)" — register must align. Owner: Q (register update). Target: Today.


Known Failure Modes (Reference Cases)

Date Failure Root Cause Resolution
2026-04-17 Apr 17 standup line 24: "HubSpot Listing batch queries returning null document_type — planning data not surfacing via CLI. Investigate." CLI filter bug (GAP-1). Flagged; no action taken. Escalated by Apr 20 CAR. Audit 2026-04-21 re-verified as still live.
2026-04-20 Apr 20 standup line 35: "Weekly Big 3 not set — /weekly-plan needed this week" despite Listing 549307086996 existing from 22 hours prior Two compounded defects: GAP-1 (CLI) + GAP-2 (half-persisted Listing). No Phase 2.3 gate (GAP-4). CAR filed docs/quality/cars/2026-04-20-corrective-operational-rhythm-cascade.md. Audit 2026-04-21 extended it.
2026-04-21 Audit confirms both defects still live. Direct CLI reproduction of filter-drop. Direct-read of Listing 549307086996 still returns name: null. Remediation work not yet performed. This SOP + audit artifact. 30-day re-audit scheduled 2026-05-21.

Test Plan (Priority Order)

Each test moves a BLOCKED/UNTESTED/NOT BUILT step toward VERIFIED. Tests align with CAR + audit remediation.

T-1 (CRITICAL — Major NC-1): Fix CLI --filters bug. Test: post-fix, search listings --filters '[{"propertyName":"document_type","operator":"EQ","value":"weekly_big3"}]' --limit 3 must return records where every document_type == "weekly_big3". Moves Phases 2.1/2.2/2.4/2.5/2.6 from BLOCKED to VERIFIED. Owner: Mender.

T-2 (CRITICAL — Major NC-2): Repair Listing 549307086996. hs_name non-null, body content = actual Apr 19 Weekly Big 3 items. Verifies Ledger can recover; verifies audit record. Owner: Ledger.

T-3 (HIGH — Major NC-3): Ledger adds post-write read-back + hs_name non-null validation for weekly_big3, daily_focus, quarterly_big3 Listing creates. Moves Phase 6.5 from NOT BUILT to VERIFIED. Owner: Ledger (agent def) + Q (new CAR).

T-4 (HIGH — GAP-4): Implement Phase 2.3 hard gate in .claude/commands/daily-ops.md. Error text to be confirmed with Chris. Next cascade-read failure halts loudly. Owner: V (strategic owner, via Hone for command edit — delegation-enforcer blocks direct V edits on source files per Apr 8 rule).

T-5 (MEDIUM — GAP-6): Implement bu-relay-health.ts OR explicitly mark Relay's column as "Not automated" and remove from Phase 4.8 script list. CHRISC-43 resolution. Owner: Relay + V.

T-6 (MEDIUM — GAP-7): Reconcile Dewey DEACTIVATED status with command's inline invocation. Owner: Hone (primary) + Aegis (secondary).

T-7 (MEDIUM — GAP-10): Register update — Tier 1, owner "V + Marshal", procedure link, 30-day next audit, NOT OPERATIONAL status note. Filesystem write, no gateway. Owner: Q (today, as part of this audit's register-update block).

T-8 (LOW — GAP-3 / Item 6.1): Clarify Marshal self-spawn pattern (second Task call or inline method). Owner: V (command author) or Hone.

T-9 (LOW — GAP-8): Observability hook for Phase 1.2-1.4 skill/memory loads. Owner: Hone. Moves three UNTESTED to VERIFIED on observation.

T-10 (LOW — GAP-9): Edit command line 44 "V executes" → "Marshal executes" for executor role, keep V references where they refer to strategic ownership voice. Owner: Hone.


Self-Scored Verification (Audit Reconciled)

Step count per table: 44 (across Phases 1-8).

Audit-reconciled breakdown (conservative — audit did not independently execute every step):

  • VERIFIED: 1.1, 4.1, 4.7, 5.1, 6.4, 7.1, 7.2, 8.2 = 8
    • Upgrade from draft's 7 by adding 4.7 (stale-file quarantine rule — auditor confirmed the rule fires on Apr 20 AND that the stale-file mtimes match the reported "STALE" markers).
  • BLOCKED: 2.1, 2.2, 2.4, 2.5, 2.6 = 5
  • NOT BUILT: 2.3, 6.5, 7.4 = 3
  • UNTESTED: 1.2, 1.3, 1.4, 1.5, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 4.2, 4.3, 4.4, 4.5, 4.6, 4.9, 4.10, 5.3, 5.4, 6.3 = 21
  • ASSUMED: 2.7, 5.2, 6.1, 6.2, 6.6, 7.3, 8.1 = 7
  • PARTIAL/BLOCKED (mixed): 4.8 = 1 (treated as BLOCKED in score for conservatism — GAP-6)

Total: 8 + 5 + 3 + 21 + 7 + 1 = 45. Adjustment: 4.8 is counted once (not separately as BLOCKED and PARTIAL). True total = 44.

Score formula (per Verification Protocol): Score = VERIFIED / (total − NOT BUILT − DEPRECATED) = 8 / (44 − 3) = 8 / 41 = 19.5%

Rounded canonical score: 20%. (Audit artifact says "12%" based on 9 governance-checklist-level items; this step-level 20% is the register-compatible number. The audit's conservative-reconciliation call is that the procedure-level self-score is the register's canonical number, so register score = 20%, not 12%.)

Reconciliation note: the audit artifact's 12% is computed at the 9-item governance-checklist level; this SOP's 20% is at the 44-step operational-procedure level. Both are honest; they measure different grains. The register uses step-level because that aligns with M-01 (25%, 5/20 step-level) and S-01 (68%, 13/19 step-level). Updated register score for G-01: 20%.

Prior (draft) score: 17% — 7/41 with one less VERIFIED (the audit promoted Phase 4.7 from ASSUMED to VERIFIED on stale-file mtime evidence).

Delta: +3 percentage points vs. draft self-score (19.5% vs 17%). Minor gain from audit-surfaced evidence. The BLOCKED and NOT BUILT steps dominate the score regardless — the process will stay well below 80% until the cascade-read and post-write-read-back fixes land.

Per Verification Protocol thresholds: 20% = Unverified (below Draft 30%, Draft ≥30% <60%, Partially Verified 60% <80%, Operational ≥80%).

Operational Status per §6.1 (G-15): 3 Major NCs = NOT OPERATIONAL regardless of score.


Open Questions (for Chris)

  1. Error text format at Phase 2.3. When Weekly Big 3 read fails, what should the error say? Proposed template: "Weekly Big 3 read FAILED. Searched: document_type=weekly_big3. Most recent Listing: {id} (name: {name-or-null}, created: {hs_createdate}). URL: {url}. Cascade break — see docs/quality/cars/2026-04-20-corrective-operational-rhythm-cascade.md. /daily-ops halted." — confirm or specify different.

  2. Hard-fail vs. degraded-mode for other cascade reads. Phase 2.2 (weekly_big3) is unambiguously HARD FAIL. What about Phase 2.4 (yesterday's daily_focus for rollover) and Phase 2.5 (yesterday's daily_recap for open loops)? Current position: only 2.2 is hard-fail; 2.4/2.5 degrade gracefully. Confirm or change.

  3. BU Big 3 soft-fail policy. Phase 2.7 treats missing per-BU daily_focus as "Not set + recommend command" rather than hard-fail. Confirm this distinction (cascade break = hard; per-BU absence = soft).

  4. Standup handoff post-write verification (Phase 7.4). Worth building as a hard gate (file must be > 500 bytes + contain expected headers)? Or redundant with filesystem write succeeding?

  5. Automation trigger. Strictly manual, or is a scheduled auto-run planned? Current draft says manual.

  6. Marshal-as-lead + Marshal-as-teammate (Phase 3.6). Second Task spawn or inline method? Ambiguity in command Team table.

  7. Post-fix re-audit gating. This SOP's Next Audit is 2026-05-21 (30-day re-audit). If Major NCs remediate earlier, should an accelerated re-audit happen? Default: no — 30 days is the discipline clock; earlier audit is optional.


Change Log

Date Change Triggered By
2026-04-21 Replaced pre-protocol draft (17% self-scored) with audit-produced version. Score recalculated to 20% step-level (42% at governance-checklist grain in audit artifact). Tier upgraded 2 → 1. Owner corrected to "V (strategic) + Marshal (executor)". 3 Major NCs documented → NOT OPERATIONAL status. 7 Open Questions for Chris. Pre-protocol draft moved to superseded/. Audit docs/quality/audits/2026-04-21-G-01-interview.md under G-15 Audit Interview Protocol.

Related Documents

  • Audit artifact (first G-15 audit): docs/quality/audits/2026-04-21-G-01-interview.md
  • Originating CAR: docs/quality/cars/2026-04-20-corrective-operational-rhythm-cascade.md
  • Pre-protocol draft (superseded): docs/operating-procedures/superseded/g-01-daily-operations-rhythm-20260421-pre-protocol.md
  • Cascade map (to be produced): docs/quality/operational-rhythm-cascade.md
  • Command: .claude/commands/daily-ops.md
  • Midday companion: .claude/commands/midday-check.md
  • Recap companion: .claude/commands/daily-recap.md
  • Upstream SOP (to be produced): docs/operating-procedures/g-02-weekly-planning.md
  • Quarterly anchor SOP (to be produced): docs/operating-procedures/g-05-leadership-meetings.md
  • Write-gateway SOP: docs/operating-procedures/hubspot-write-operations.md (S-01, 68%)
  • Audit Interview Protocol: docs/quality/audit-interview-protocol.md (G-15)
  • Process Register entry: docs/quality/process-register.md line 114 (to be updated by this audit)
  • V identity: /mnt/d/V/v-identity-prompt.md
  • Marshal identity: .claude/agents/marshal.md
  • Verification Protocol: docs/quality/verification-protocol.md