StrategyRecommendationLog — Production Schema

Layer 9 strategic memos · AGT-903 proposes options, executives endorse, Tier 1 services run the redesign cycle · No direct canonical edits · Promotion-gated state machine
L9 · Schema Production · v37 Owns: StrategyRecommendationLog AGT-903 (drafts) · CRO + CFO + (CEO if material) (endorsement gate)
Purpose

StrategyRecommendationLog is the workspace where AGT-903 Strategy Brain drafts strategic recommendations for executive review. It is the operational mechanism for the architectural commitment that strategic decisions remain with humans and remain subject to fiduciary deterministic processes. Unlike SalesPlayLibrary, no execution engine reads endorsed rows directly — endorsement triggers human-led planning workstreams that flow through the relevant Tier 1 service's normal redesign cycle.

Workspace, not registry. StrategyRecommendationLog records strategic memos at every state, but no row is ever read by an execution agent. AGT-302 is irrelevant here. The downstream consumer of an endorsed recommendation is a human-led workstream, owned by the Tier 1 service whose canonical configuration is implicated.

State machine
StateMeaningWho can write/transition
draftAGT-903 has produced a strategic memo with 2–4 options. Lives in workspace for executive review. No downstream effect.AGT-903 inserts. No one else writes to draft rows.
under_reviewCRO has picked up a draft and is refining it. May edit option set, narrow scope, request additional analysis.CRO (manual transition from draft). Edits permitted. Re-running additional AGT-903 analysis in this state appends to analysis_iterations, does not create a new row.
endorsedRecommendation approved by CRO + CFO (+ CEO if scope warrants). Triggers a human-led planning workstream owned by the relevant Tier 1 service(s). Does not modify any canonical table directly.CRO + CFO joint approval; CEO required if scope_severity = material. Approver fields tracked.
shelvedRecommendation set aside — not endorsed, not retired. Retained for historical retrospective and future reconsideration.CRO. Reversible to under_review if CRO re-engages.
retiredRecommendation no longer relevant. Outcomes (if endorsed and acted on) recorded for retrospective.RevOps. Terminal except for retrospective annotation.

Allowed transitions:

No volume cap — cadence is the natural limiter

Unlike SalesPlayLibrary, StrategyRecommendationLog has no hard volume cap on endorsed entries. The natural limiter is executive bandwidth and the deliberate rarity of strategic-decision cadence. AGT-903 may draft any volume of recommendations — CRO pickup time and joint-approval requirements are the bottleneck.

Soft monitoringDefault thresholdConfigurable by
Endorsed recommendations per yearHealthy band: 2–5 per year. > 8 in a single year flags strategic-churn anti-pattern for review.CRO via StrategyRecommendationConfig (L0 table).
Drafts pending CRO pickup > 30 daysAuto-stale flag. CRO dashboard surfaces. Eligible for auto-retirement at 90 days.CRO.
Strategic-churn pattern (multiple endorsed recommendations on the same canonical config within 4 quarters)Flag for retrospective: are we second-guessing?RevOps quarterly review.
Strategic churn is a known anti-pattern. Brain availability should not lower the cost of strategic second-guessing — the whole point of endorsement gating is to make strategic changes deliberate, not frictionless.
Schema definition
FieldTypeReqNotes
recommendation_idUUIDREQPrimary key.
stateENUMREQdraft / under_review / endorsed / shelved / retired. Transitions enforced via trigger.
questionTEXTREQThe executive query that triggered the analysis, verbatim. Or the AGT-704 narrative-job prompt.
scope_tagsJSONBREQStructured: which segments / verticals / time windows the analysis covers. Used for retrospective lookup and to detect strategic-churn pattern.
scope_severityENUMREQroutine / significant / material. Material requires CEO approval at endorsement. Set by AGT-903 at draft time based on which canonical configs are implicated; CRO may revise during under_review.
action_typeENUMREQPer AGT-903 action taxonomy: propose_icp_revision / propose_segment_redefinition / propose_vertical_entry / propose_capacity_reallocation / propose_pricing_packaging_review / flag_strategic_risk / recommend_market_research_query / recommend_human_query / none.
options_enumeratedJSONBREQArray of 2–4 options. Each option carries: option_label, hypothesis, projected_impact_range (NOT a point estimate), required_investment, capacity_implications, tier1_dependencies (array of AGT-IDs whose redesign is implicated). JSON schema validated.
tradeoffs_matrixJSONBREQPer option: upside_scenario, downside_scenario, preconditions_for_success. Structured for matrix rendering in the workspace UI.
risk_surfaceJSONBREQStructured enumeration: market_risks, execution_risks, capacity_risks, model_assumption_risks. Each risk carries a confidence_flag (high / medium / low / speculation). Eval criterion enforces presence of all four risk classes ≥ 90% of outputs.
assumptions_must_holdJSONBREQArray of falsifiable assumptions underlying the analysis. Each: assumption, evidence_basis, brittleness (brittle / stable / untested), source_ref if applicable. Brittle assumptions surfaced in workspace UI as banners.
sources_readJSONBREQArray of (table_name, view_name, last_refresh_timestamp, row_count_consumed). Every numerical claim in narrative ties back. Same shape as BrainAnalysisLog.sources_read for consistency.
narrativeTEXTREQBrain's prose memo, with inline source citations matching sources_read (e.g., [src:1]).
suggested_workstream_ownersJSONBREQIf endorsed, which Tier 1 services or cross-functional groups own the resulting workstream. Array of (owner, scope_of_responsibility). Example: [{"owner":"AGT-201","scope_of_responsibility":"ICP rubric redesign cycle"}, {"owner":"AGT-202","scope_of_responsibility":"routing alignment"}].
data_staleness_acknowledgedBOOLEANREQTRUE if any strategy brain-ready view consumed was stale. If TRUE, narrative MUST surface staleness explicitly. Hard requirement — eval enforces.
originating_proposal_idUUIDREQFK to BrainAnalysisLog.proposal_id of the AGT-903 output that drafted this recommendation. Lineage anchor.
writer_agent_idVARCHAR(16)REQAlways AGT-903 for this table. Constraint enforced.
created_atTIMESTAMPTZREQDEFAULT NOW().
analysis_iterationsJSONBoptAppend-only log of additional AGT-903 analyses run during under_review (e.g., CRO requests deeper sensitivity analysis on option 2). Each iteration: timestamp, additional question, additional sources read, additional narrative.
picked_up_by_user_idUUIDoptSet on draftunder_review. Must be CRO-role user.
picked_up_atTIMESTAMPTZoptSet on draftunder_review.
edits_during_reviewJSONBoptDiff log of CRO edits during under_review (option-set narrowing, scope changes, risk-surface additions). Calibration signal: heavy edits = brain drafts are starting points; light edits = brain is calibrated.
cro_approver_user_idUUIDoptRequired to transition to endorsed.
cfo_approver_user_idUUIDoptRequired to transition to endorsed.
ceo_approver_user_idUUIDoptRequired to transition to endorsed when scope_severity = material.
endorsed_option_labelVARCHAR(64)optRequired at endorsed. Identifies which option from options_enumerated the executives endorsed. Workstream proceeds against this option.
endorsed_atTIMESTAMPTZoptSet on under_reviewendorsed.
shelved_atTIMESTAMPTZoptSet on transition to shelved.
shelved_reasonTEXToptCRO-provided. Surfaces in retrospective.
retired_atTIMESTAMPTZoptSet on transition to retired.
retired_by_user_idUUIDoptSet on transition to retired.
retire_reasonENUMoptworkstream_complete / superseded / rejected_at_review / rejected_at_draft / auto_stale.
retrospective_outcomesJSONBoptFor endorsed recommendations: measured outcomes 4–6 quarters out vs. projected impact range. Populated by RevOps. Read by AGT-903 in next strategic-bet retrospective batch and used for retrospective-accuracy eval criterion.
cost_metadataJSONBREQ(model, input_tokens, output_tokens, cached_tokens, cost_usd_estimate). Same shape as BrainAnalysisLog cost metadata.
Keys, constraints, indexes
ElementDefinitionWhy
Primary keyrecommendation_idSurrogate.
Index 1(state, created_at DESC) WHERE state IN ('draft','under_review')Workspace UI: show pending drafts/reviews to CRO.
Index 2(state, endorsed_at DESC) WHERE state = 'endorsed'Endorsed recommendations dashboard + retrospective workstream tracking.
Index 3GIN(scope_tags)Strategic-churn detection: find prior recommendations on the same scope.
Index 4(originating_proposal_id)BrainAnalysisLog lineage lookup.
Index 5(action_type, created_at DESC)Per-action-type history (eval, brain calibration).
CHECK: writer_agent_idwriter_agent_id = 'AGT-903'This table is AGT-903 only. AGT-901/902 cannot write here. Hard constraint.
CHECK: option countjsonb_array_length(options_enumerated) BETWEEN 2 AND 4 when action_type is one of the propose_* valuesOptions discipline — enforces "produce alternatives, not single answers" architectural commitment. Exempt for flag_strategic_risk / recommend_* / none.
CHECK: risk-surface coveragerisk_surface JSONB must have keys market_risks, execution_risks, capacity_risks, model_assumption_risks when action_type is one of the propose_* valuesRisk-surface discipline. Same exemption as above.
CHECK: endorsed requires approversIf state = 'endorsed': cro_approver_user_id IS NOT NULL AND cfo_approver_user_id IS NOT NULL AND endorsed_option_label IS NOT NULL AND endorsed_at IS NOT NULL. If scope_severity = 'material', also require ceo_approver_user_id IS NOT NULL.Endorsement gate — joint approval required.
CHECK: endorsed_option_label validIf state = 'endorsed', endorsed_option_label must match an option_label present in options_enumerated.Cannot endorse a phantom option.
CHECK: state machineTrigger validates allowed transitions (per state machine table). Backward transitions from endorsed blocked. shelvedunder_review permitted.Auditability + integrity.
CHECK: staleness flagIf data_staleness_acknowledged = TRUE, narrative must contain a staleness-acknowledgement marker (regex check or structured tag in JSONB sources_read). Eval also enforces.Source-trace integrity discipline shared across all three brains.
FKoriginating_proposal_id → BrainAnalysisLog.proposal_id; user IDs → Users (with role check on CRO/CFO/CEO fields).Referential integrity + role enforcement.
Downstream — what happens when a recommendation is endorsed

Endorsement does NOT modify any canonical table. It triggers a planning workstream owned by the Tier 1 service(s) named in suggested_workstream_owners. The workstream's outcome may, in turn, propose canonical changes through that service's normal redesign cycle — with all the deterministic governance that cycle entails.

Endorsed action_typeWorkstream owner(s)What the owner does
propose_icp_revisionAGT-201Initiates ICP rubric redesign cycle. May result in spec change to AGT-201 + downstream recalibration of routing (AGT-202), prioritization (AGT-206), and TAM sizing (AGT-205).
propose_segment_redefinitionAGT-201 + AGT-202 + AGT-101Cross-service segment-band redesign. May ripple to quota model, territory design (AGT-106), capacity (AGT-105).
propose_vertical_entryAGT-203 + AGT-205 + AGT-302 + AGT-403 + AGT-105 (cross-functional motion-build)RevOps-led motion plan: ABM target list (AGT-203), TAM/SAM refresh (AGT-205), cadence orchestration (AGT-302), competitive prep (AGT-403), capacity allocation (AGT-105).
propose_capacity_reallocationAGT-105 + AGT-106 + AGT-101Capacity plan redesign + territory rebalance + quota recalibration. AGT-105 owns the integrated plan output.
propose_pricing_packaging_reviewCross-functional pricing committee + AGT-406 + AGT-802 + AGT-101Pricing committee runs the analysis; CPQ catalog change (AGT-406), billing alignment (AGT-802), quota model recalibration (AGT-101).
flag_strategic_riskn/aInformational endorsement (rare): executive team acknowledges the risk and may direct attention without triggering a workstream.
recommend_market_research_queryRevOps strategic research functionExternal research engagement. Outcomes may feed back into a future AGT-903 query.
No row in StrategyRecommendationLog ever directly modifies a canonical table. Even at the most senior endorsement, the recommendation is an input to a Tier 1 service's redesign cycle, never a substitute for it. This is the strongest separation between Tier 2 reasoning and Tier 1 deterministic governance in the whole OS.
Brain calibration feedback loop

StrategyRecommendationLog closes the loop on AGT-903 quality. Four signals matter:

SignalWhat it measuresBrain calibration use
Endorsement rate (per quarter, per action_type)How often AGT-903 drafts make it through CRO review to endorsementPer AGT-903 eval criterion target band 10–30%. < 10% → options not credible. > 30% → brain may be reading leadership preference.
Edit volume in edits_during_reviewHow heavily CRO rewrites option set or narrows scope during reviewHeavy edits → drafts are starting points. Light edits → brain is calibrated. Used to tune system prompt + few-shot examples.
Brittle-assumption surfacing rateFor endorsed recommendations later retrospectively known to have failed: % where brain had flagged the failing assumption as brittle at draft timeCalibration of assumption-surface honesty. Brain should pre-flag the failure modes that actually materialize.
Retrospective outcomes vs projected impact rangeFor endorsed recommendations 4–6 quarters out: did actual outcomes fall within the projected range, above, or below?Retrospective accuracy criterion (target ≥ 50%). Read by AGT-903 in next strategic-bet retrospective batch.
Strategic recommendations have a longer feedback loop than play drafts. Calibration is a multi-quarter discipline; expect signal stabilization no earlier than Y+1 after launch and meaningful retrospective accuracy data no earlier than Y+2.
Retention
TierWindowAccess
HotActive states (draft / under_review / endorsed) or recently retired (last 90 days)Workspace UI, CRO dashboard, AGT-704 annual planning narrative job
WarmRetired or shelved 90 days to 4 yearsAnnual retrospective batch, brain calibration analysis, strategic-churn pattern detection
Cold4 years to 10 yearsAudit access, multi-year strategic retrospective, board historical inquiry
Retention windows are longer than SalesPlayLibrary (warm 18mo, cold 7y) because strategic decisions have longer relevance horizons. A vertical-entry recommendation endorsed in year 1 may remain referenceable through year 4 of that vertical's GTM motion.