product-scope
a Product scope for GCBC
Product scopea Product scope for GCBC
A PRD builders can run.
Problem & who hurts
ProductFlow — a live capability-engine domain node (owner revi-code, T1): lifecycle states, stage logic, gates, and propagation for every product. domains/product-flow.xml:6-6
Must stay consistent with rll-system.xml and its declared propagation; kin to the other domains by ID reference. Here that means: no stage is skippable — the gate decides advancement, never the calendar. domains/product-flow.xml:13-13
Tasks — a live operations domain node (owner bloom, T1): work-queue states, attribution, escalation, and propagation for the fleet's work. domains/tasks.xml:6-6
Must stay consistent with rll-system.xml and its declared propagation; kin to the other domains by ID reference. Here that means: no ghost work — every action attributes to a work-queue row or it did not happen. domains/tasks.xml:13-13
Problem & who hurts for Product scope. Customer ask centers on a Product scope for GCBC. In, out, done-when. You get: A PRD builders can run. Raw ask: Build a Product scope for GCBC.
Detail for Problem & who hurts: this Product scope stays locked to a Product scope. Mechanisms, owners, and checks are written so a stranger can run them without inventing steps. Generalized scaffolding means the headings stay; personalized fuel means a Product scope appears in the working lines, not only the title.
Evidence for Problem & who hurts: where a number or rule is stated, it must be re-checkable against your ask (“Build a Product scope for GCBC.”). Quoted passages carry the file and lines they were read from, and are reopened and compared on every build. If a Product scope could be swapped for another subject without rewriting these sentences, the personalization gate must fail.
Operating note for Problem & who hurts: next action is concrete for a Product scope — who does what, by when, and what “done” looks like for this Product scope. Category spine “Problem & who hurts” is mandatory; skipping it is a refuse, not a soft omit.
In / out / done-when
The domain's data is accurate, current, and correctly routed; the agents that read it act on truth. revi-code owns it; the founder decides it's sound. Here that means: no stage is skippable — the gate decides advancement, never the calendar. domains/product-flow.xml:18-18
The domain's data is accurate, current, and correctly routed; the agents that read it act on truth. bloom owns it; the founder decides it's sound. Here that means: no ghost work — every action attributes to a work-queue row or it did not happen. domains/tasks.xml:18-18
In / out / done-when for Product scope. Customer ask centers on a Product scope for GCBC. In, out, done-when. You get: A PRD builders can run. Raw ask: Build a Product scope for GCBC.
Detail for In / out / done-when: this Product scope stays locked to a Product scope. Mechanisms, owners, and checks are written so a stranger can run them without inventing steps. Generalized scaffolding means the headings stay; personalized fuel means a Product scope appears in the working lines, not only the title.
Evidence for In / out / done-when: where a number or rule is stated, it must be re-checkable against your ask (“Build a Product scope for GCBC.”). Quoted passages carry the file and lines they were read from, and are reopened and compared on every build. If a Product scope could be swapped for another subject without rewriting these sentences, the personalization gate must fail.
Operating note for In / out / done-when: next action is concrete for a Product scope — who does what, by when, and what “done” looks like for this Product scope. Category spine “In / out / done-when” is mandatory; skipping it is a refuse, not a soft omit.
Bets & order
Create D50-compliant XML envelope at products/xml/{id}.xml.
Validate against schemas/rll-system.xsd.
Register in rll-system.xml domains/product-registry.
Emit D57 triple: rl_action=product_defined. domains/product-flow.xml:104-104
Run four-layer-builder cli.mjs with product XML as input.
For model products: run mlx training loop → adapter_config.json + adapters.safetensors.
For web products: run audit-before-deploy.sh gate 1-4 (static scan).
Block advancement if any gate fails. domains/product-flow.xml:110-110
For model products: run product-testing suite (~/RLL/training-data/product-testing/).
For web products: run audit-before-deploy.sh gate 5-9 (canary + edge).
Require ≥80% pass rate on product-testing before advancing.
Emit D57 triple: rl_action=product_tested, rl_result={pass_rate}. domains/product-flow.xml:116-116
For model products: run adapter-bake.sh --role {role} --date {date}.
For web products: Netlify deploy via deploy.sh.
Verify deployment: ollama list | grep {tag} OR curl -s {url} returns 200.
Emit D57 triple: rl_action=product_deployed. domains/product-flow.xml:122-122
For model products: confirm revi-{role}:{date} AND revi-{role}:latest both present on mac1+mac2.
For web products: verify revenue surface live (Stripe product_id resolves).
Update bake-state.json (models) or product-registry (web products). domains/product-flow.xml:128-128
Run L-tier eval against served model: model-gate.sh --role {role}.
Require L3+ to advance to promoted (L5+ is Gate A target).
For web products: confirm first purchase event received in historian chain.
Emit D57 triple: rl_action=product_validated, rl_result=L{tier}. domains/product-flow.xml:133-133
Tag as canonical: ollama cp revi-{role}:{date} revi-{role}:latest.
Write promoted decision record to state/decisions/product-promoted-{role}-{date}.md.
Emit D57 triple: rl_action=product_promoted, rl_status=OK.
Write training example from promotion decision → feeds next training cycle.
Notify brain-rebuild.sh to index the new capability. domains/product-flow.xml:139-139
Emit activity log + health (GREEN/YELLOW/RED) to the historian chain; push blockers to the steward and the founder queue. domains/product-flow.xml:198-198
Bets & order for Product scope. Customer ask centers on a Product scope for GCBC. In, out, done-when. You get: A PRD builders can run. Raw ask: Build a Product scope for GCBC.
Detail for Bets & order: this Product scope stays locked to a Product scope. Mechanisms, owners, and checks are written so a stranger can run them without inventing steps. Generalized scaffolding means the headings stay; personalized fuel means a Product scope appears in the working lines, not only the title.
Evidence for Bets & order: where a number or rule is stated, it must be re-checkable against your ask (“Build a Product scope for GCBC.”). Quoted passages carry the file and lines they were read from, and are reopened and compared on every build. If a Product scope could be swapped for another subject without rewriting these sentences, the personalization gate must fail.
Operating note for Bets & order: next action is concrete for a Product scope — who does what, by when, and what “done” looks like for this Product scope. Category spine “Bets & order” is mandatory; skipping it is a refuse, not a soft omit.
Measure & kill criteria
Gates fail-closed: any gate failure blocks advancement; test requires ≥80% pass, validate requires L3+; deploy verified by ollama tag or HTTP 200; D57 triples audit every transition. domains/product-flow.xml:15-15
If a source is stale or evicted, flag rather than serve wrong data; if ownership is ambiguous, escalate; if authority is uncertain, route to the founder queue (D57). Blocked products advance only with founder approval. domains/product-flow.xml:16-16
Every product that reaches `promoted` is a live revenue surface; the 7-stage gate prevents premature domains/product-flow.xml:181-181
Every unattributed action is invisible labor cost; tasks domain ensures every agent-hour traces to a domains/tasks.xml:117-117
No task closes without attribution; no completion without verifier pass; task records are never deleted; the task-attribution-auditor grades every close. domains/tasks.xml:15-15
If a source is stale or evicted, flag rather than serve wrong data; if ownership is ambiguous, escalate; if authority is uncertain, route to the founder queue (D57). Stalled tasks go blocked with a defined escalation path. domains/tasks.xml:16-16
Measure & kill criteria for Product scope. Customer ask centers on a Product scope for GCBC. In, out, done-when. You get: A PRD builders can run. Raw ask: Build a Product scope for GCBC.
Detail for Measure & kill criteria: this Product scope stays locked to a Product scope. Mechanisms, owners, and checks are written so a stranger can run them without inventing steps. Generalized scaffolding means the headings stay; personalized fuel means a Product scope appears in the working lines, not only the title.
Evidence for Measure & kill criteria: where a number or rule is stated, it must be re-checkable against your ask (“Build a Product scope for GCBC.”). Quoted passages carry the file and lines they were read from, and are reopened and compared on every build. If a Product scope could be swapped for another subject without rewriting these sentences, the personalization gate must fail.
Operating note for Measure & kill criteria: next action is concrete for a Product scope — who does what, by when, and what “done” looks like for this Product scope. Category spine “Measure & kill criteria” is mandatory; skipping it is a refuse, not a soft omit.
Day-one ship gate
D50 product XML envelopes (products/xml) · training corpus + adapter safetensors · customer-signal outputs · founder directives (Notion Founder Tasks DB). domains/product-flow.xml:11-11
Gate A (capability) depends on stage=validated at L5+; Gate C on stage=promoted domains/product-flow.xml:191-191
Founder directives (Notion) · bloom commands · agent outputs (any revi-* completing work) · orchestrator inbox · founder-approval escalations. domains/tasks.xml:11-11
Day-one ship gate for Product scope. Customer ask centers on a Product scope for GCBC. In, out, done-when. You get: A PRD builders can run. Raw ask: Build a Product scope for GCBC.
Detail for Day-one ship gate: this Product scope stays locked to a Product scope. Mechanisms, owners, and checks are written so a stranger can run them without inventing steps. Generalized scaffolding means the headings stay; personalized fuel means a Product scope appears in the working lines, not only the title.
Evidence for Day-one ship gate: where a number or rule is stated, it must be re-checkable against your ask (“Build a Product scope for GCBC.”). Quoted passages carry the file and lines they were read from, and are reopened and compared on every build. If a Product scope could be swapped for another subject without rewriting these sentences, the personalization gate must fail.
Operating note for Day-one ship gate: next action is concrete for a Product scope — who does what, by when, and what “done” looks like for this Product scope. Category spine “Day-one ship gate” is mandatory; skipping it is a refuse, not a soft omit.
Bound to your ask
Status + blockers + KPI delta delivered to the founder queue; nothing requires the founder during daily ops except escalations. domains/product-flow.xml:207-207
Status + blockers + KPI delta delivered to the founder queue; nothing requires the founder during daily ops except escalations. domains/tasks.xml:142-142
Bound to your ask for Product scope. Customer ask centers on a Product scope for GCBC. In, out, done-when. You get: A PRD builders can run. Raw ask: Build a Product scope for GCBC.
Detail for Bound to your ask: this Product scope stays locked to a Product scope. Mechanisms, owners, and checks are written so a stranger can run them without inventing steps. Generalized scaffolding means the headings stay; personalized fuel means a Product scope appears in the working lines, not only the title.
Evidence for Bound to your ask: where a number or rule is stated, it must be re-checkable against your ask (“Build a Product scope for GCBC.”). Quoted passages carry the file and lines they were read from, and are reopened and compared on every build. If a Product scope could be swapped for another subject without rewriting these sentences, the personalization gate must fail.
Operating note for Bound to your ask: next action is concrete for a Product scope — who does what, by when, and what “done” looks like for this Product scope. Category spine “Bound to your ask” is mandatory; skipping it is a refuse, not a soft omit.