Stage contracts¶
Descriptive reference of all workflow stages across Conductor's 6 business lines. Each stage contract describes what a stage requires — not what a compiler enforces. The compiler has been archived to archive/compiler-v1/.
Contract schema¶
Every stage must declare:
| Field | Purpose |
|---|---|
id |
Stable machine identifier (e.g. software.implement) |
line |
Owning business line |
entry |
Conditions that must hold before the stage is active |
bindings |
Required inventory options that must be resolved |
roles |
Permitted active roles at this stage |
artifacts |
Outputs the stage produces |
evidence |
Proof required for exit and transition |
exit |
Observable completion criteria |
next_stages |
Allowed successor stage IDs |
validation |
Mode (deterministic or judgment) and checks |
recovery |
Behavior on re-entry or rollback |
on_gap |
Gap identifier emitted when contract is incomplete |
Validation modes: - Deterministic — conditions that can be verified mechanically - Judgment — requires Portfolio Manager, President, or human review; cannot be silently waived
Missing contract data produces a named gap. Judgment-led exploration may continue only when gaps are explicit.
Portfolio¶
| # | Stage | Purpose | Entry | Bindings | Roles | Exit evidence | Transition | Next |
|---|---|---|---|---|---|---|---|---|
| 1 | intake |
Capture a spark as an Initiative | Outcome or discovery question exists | line-routing |
Portfolio Manager | Initiative ID, source, outcome, definition of done | Deterministic | classify |
| 2 | classify |
Assign archetype and workstream route | Intake record complete | estate-intent |
Portfolio Manager | Archetype, estate intent, proposed workstreams, rationale | Judgment (escalate President) | prioritize |
| 3 | prioritize |
Set priority and disposition | Classification recorded | priority-tier |
Portfolio Manager | Priority tier, disposition, comparison rationale | Judgment (escalate President) | capacity |
| 4 | capacity |
Confirm WIP policy passes | Continue decision exists | wip |
Portfolio Manager | WIP counts, applicable caps, available slot | Deterministic; President overrides | review |
| 5 | review |
Periodic governance check | Review date or trigger arrives | none | Portfolio Manager | Current outcomes, workstream states, risks, next action | Judgment (escalate President) | loop to prioritize or capacity |
Portfolio is a recurring governance workflow. Review may return to Prioritize or Capacity without resetting line workstreams.
Product¶
| # | Stage | Purpose | Entry | Bindings | Roles | Exit evidence | Transition | Next |
|---|---|---|---|---|---|---|---|---|
| 1 | discover |
Bind venture or bootstrap profile | Portfolio activated Product workstream | profile |
Product Manager | Problem, audience, desired outcome, known constraints | Judgment | explore |
| 2 | explore |
Gather evaluation evidence | Discovery questions and evidence depth selected | evidence-depth |
Product Manager, Market Researcher | Research sources, interviews, competing explanations | Judgment | score |
| 3 | score |
Apply bound scorecard | Scorecard inputs and attributable evidence present | scorecard |
Product Manager, Scorecard Analyst | Dimension scores, calculations, penalties, source references | Deterministic | build-gate |
| 4 | build-gate |
Decide build capacity allocation | Passing score or President exception | build-vs-buy |
Product Manager | Score result, build-vs-buy choice, WIP availability, approval | Deterministic | ship-signal |
| 5 | ship-signal |
Record live use, revenue, or learning | Deliverable or market test produced observable results | none | Product Manager | Usage, revenue, buyer feedback, or validated learning | Judgment | archive |
| 6 | archive |
Close or park the Product workstream | Terminal disposition exists | graduation (draft) |
Product Manager | Disposition, rationale, retained evidence, successor links | Deterministic | none |
Gates:
- Bootstrap: score ≥ 60, < 6 months to first revenue, ≥ 2 willing buyers
- Venture: threshold TBD; judgment gate until defined
- Shared WIP cap: 2 active commercial builds across Venture + Bootstrap
- No Software implement before build-gate pass for commercial product paths
Software¶
| # | Stage | Purpose | Entry | Bindings | Roles | Exit evidence | Transition | Next |
|---|---|---|---|---|---|---|---|---|
| 1 | frame |
Define scope and acceptance | Authorized outcome and scope owner | app-kind |
Engineering Lead | Outcome, users, constraints, definition of done | Judgment | design |
| 2 | design |
Material design choices | Frame accepted; design choices identified | brand, arch-checklist |
Engineering Lead | Architecture, data boundaries, interfaces, pattern choice | Judgment | implement |
| 3 | implement |
Authorized code changes | Design, exact plan, repository target, authorization current | blueprint, tech-stack |
Engineering Lead, Implementer | Commit diff, dependency changes, implementation notes | Deterministic | verify |
| 4 | verify |
Required checks | Implementation complete; verification profile bound | verify-profile |
Engineering Lead | Test results, static checks, security checks, acceptance evidence | Deterministic | promote |
| 5 | promote |
Move reviewed revision to target | Verification passed; promotion target authorized | promote-target |
Platform Engineer | Source revision, target path, backup or rollback reference | Deterministic | deploy |
| 6 | deploy |
Make revision healthy at target | Promoted revision, host/shape bindings, deployment authorization | host, shape |
Platform Engineer | Deployment revision, health checks, URL/service identity, rollback result | Deterministic | document |
| 7 | document |
Reproducible setup and recovery | Verified implementation; operational behavior stable | doc-profile |
Engineering Lead | Setup, architecture, operations, recovery, known limitations | Deterministic | none |
Estates: Prototype (local-only, no GitHub remote), Lab (hector-sanchez-eu, catalog after live URL), Portfolio-org (Konstant-Ventures, revenue/commercial).
Patterns: static-web (nginx static), dynamic-web (socket-activated backend + nginx proxy), vercel (Vercel-hosted).
Editorial¶
| # | Stage | Purpose | Entry | Bindings | Roles | Exit evidence | Transition | Next |
|---|---|---|---|---|---|---|---|---|
| 1 | assign |
Assign desk, angle, author | Workstream has audience and intended outcome | desk |
Editor-in-Chief, Desk Editor | Desk, angle, audience, format, deadline | Judgment | report |
| 2 | report |
Gather sources and evidence | Assignment and research depth defined | research-depth (draft) |
Reporter, Researcher | Sources, notes, data, uncertainties, conflicts | Judgment | draft |
| 3 | draft |
Write complete draft | Reporting evidence and structure available | time-model |
Reporter | Draft body, citations, disclosed assumptions | Judgment | edit |
| 4 | edit |
Structure and quality gates | Complete draft and assignment available | none | Copy Editor | Structural edits, copy edits, unresolved queries | Judgment | fact-check |
| 5 | fact-check |
Verify claims against sources | Edited draft and source file available | none | Fact-checker | Claim-by-claim source mapping, corrections, unresolved claims | Deterministic | localize |
| 6 | localize |
Produce locale editions | Source edition fact-checked; target locales selected | locales |
Translator | Authored locale files, terminology decisions, locale review | Judgment | stage |
| 7 | stage |
Pre-publish readiness | Fact-checked copy, locales complete | none | Copy Editor, Publisher | Rendered preview, metadata, links, assets | Deterministic | publish |
| 8 | publish |
Make publicly reachable | Staged release approved for channel and target | publish |
Publisher | Published URL, revision, timestamp, post-publish checks | Deterministic | update |
| 9 | update |
Correction, update, or retire | Correction, expiry trigger, or material new evidence | none | Editor-in-Chief, Publisher | Change rationale, revised sources, before/after revision | Judgment | none |
Inventory notes: Desk options: journal, perspective, research, releases. Time model: frozen (one-time artifact) or living (edit in place). Locales: en-es-de or en-only. Publish channel: hectorsanchez.eu via writing-publisher-mcp.
Services¶
| # | Stage | Purpose | Entry | Bindings | Roles | Exit evidence | Transition | Next |
|---|---|---|---|---|---|---|---|---|
| 1 | offer |
Define repeatable client outcome | Repeatable outcome or capability identified | catalog |
Practice Lead | Outcome, scope boundaries, buyer, delivery assumptions | Judgment | lead |
| 2 | lead |
Qualify potential client | Potential client and relevant offer known | lead-status |
BD/Sales | Need, fit, authority, timing, privacy constraints | Judgment | propose |
| 3 | propose |
Submit unambiguous proposal | Qualified lead; defined need and decision process | none | BD/Sales, Engagement Manager | Scope, deliverables, timeline, price, assumptions, exclusions | Judgment | contract |
| 4 | contract |
Execute agreement | Proposal terms agreed in principle | none | Engagement Manager | Executed agreement, privacy terms, start authorization | Deterministic | deliver |
| 5 | deliver |
Produce contracted work | Contract, scope, privacy profile, delivery owner active | engagement-type |
Delivery Consultant, Engagement Manager | Work products, client feedback, acceptance evidence | Judgment | invoice |
| 6 | invoice |
Issue correct invoice | Billable milestone and billing basis exist | none | Billing | Invoice, amount calculation, delivery milestone | Deterministic | complete |
| 7 | complete |
Close engagement | Deliverables accepted; billing resolved | none | Engagement Manager | Acceptance, payment status, retained obligations, lessons | Deterministic | archive |
| 8 | archive |
Retain or delete records | Engagement complete; retention rules known | none | Engagement Manager | Retention decision, archive location, deletion evidence | Deterministic | none |
Lead micro-status: cold → contacted → proposed → negotiating → won | lost | rejected.
Operate¶
| # | Stage | Purpose | Entry | Bindings | Roles | Exit evidence | Transition | Next |
|---|---|---|---|---|---|---|---|---|
| 1 | run |
Service is runnable and recoverable | Deployed service has ownership and ops profile | ops-profile |
Platform Engineer | Service identity, owner, dependencies, runbook, SLO | Deterministic | observe |
| 2 | observe |
Health evidenced; anomalies routed | Running service has defined health and failure signals | none | Platform Engineer, On-call | Metrics, logs, alerts, SLO evaluation | Deterministic | change |
| 3 | change |
Bounded operational change | Change and rollback plan authorized | change-style |
Platform Engineer | Plan, exact targets, prechecks, result, rollback evidence | Deterministic | return to run or branch to incident |
| 4 | incident |
Restore or contain service | Service-impacting event detected and classified | severity (draft) |
On-call | Severity, timeline, actions, recovery evidence, impact | Deterministic | return to run or branch to retire |
| 5 | retire |
Stop service without orphans | Retirement approved; dependencies inventoried | none | Platform Engineer | Dependency clearance, backup decision, shutdown evidence | Deterministic | none |
Operate is not a sequential ladder. Change and Incident branch from active runtime (Run/Observe) and return to Run afterward. Retire is terminal.
Stage count summary¶
| Line | Stages | Deterministic | Judgment |
|---|---|---|---|
| Portfolio | 5 | 2 | 3 |
| Product | 6 | 3 | 3 |
| Software | 7 | 5 | 2 |
| Editorial | 9 | 3 | 6 |
| Services | 8 | 4 | 4 |
| Operate | 5 | 5 | 0 |
| Total | 40 | 22 | 18 |
Gaps in current contracts¶
Several stages have incomplete contracts where the compiler must emit a gap rather than authorize a deterministic transition:
- Portfolio: WIP caps for Editorial and Services are stub (null max)
- Product: Venture scorecard threshold TBD;
graduationinventory is draft - Software: Documentation inventory (
doc-profile) has limited options - Editorial:
research-depthinventory is draft; exact entry/exit criteria incomplete for some stages - Services: Exact entry criteria and evidence requirements incomplete for some stages
- Operate:
severityinventory is draft; exact entry criteria for Change/Incident incomplete
When a gap is encountered, the compiler must report it as a named gap in the operating brief. Judgment-led exploration may continue with explicit gaps. Deterministic validation fails on gaps.
Related documents¶
- Core stage contract rules:
corpus/core/stage-contract.yml - Per-line workflow units:
corpus/portfolio/workflow.yml,corpus/lines/*/workflows/ - Line overview docs:
lines/*.md - Compiler specification:
reference/contracts/compiler-spec.md