Ship deterministic CLI before agent workflows
- Prediction
- Local install healthy; sample decisions validate
- Metric
- Number of sample decisions that parse, validate, appear in audit
- Outcome
- Awaiting outcome · review 2026-09-13
Not inferred by the LLM — decided consciously, between you and your agent. SiftOS keeps every product decision on the record: what you decided, what you predicted, what you measured. Versioned in your repository, not your vendor’s cloud.
Works with Codex · OpenCode · DeepSeek Harness
npx @felipcsousa/siftos installInstalls the SiftOS skill into your repository via npm.
Initialize SiftOS for this product.Works with Codex, OpenCode and DeepSeek Harness. It scaffolds .product/ and your first decision record — then asks what to measure.
An idea can become code before anyone notices that a product choice was made. The reasoning, the alternatives, the expected outcome — gone, silently.
SiftOS closes the loop: Decision → Prediction → Outcome → Learning. The same decision, made consciously, is the entry above — with a prediction, a metric, and a place for the measured outcome.
Four moves, each one a dated entry in your repository.
What are we deciding, what are the options, and who owns the call?
Write the expected outcome and the metric that will judge it — before building.
When results land, the outcome posts with the measured delta — next to the prediction.
What did we get right, and what changes in how this team decides?
The human owns every decision. SiftOS never intervenes automatically — you chooseadvisory, balanced, or strict. Local-first and Git-native:.product/ is the source of truth, in your repository.
.product/One shared vocabulary for you and your agent — each command names one kind of intervention, from first shape to Ship Gate.
initBuild persistent product context progressively.
shapeTurn an idea into a Bet — hypothesis, scope, measurement.
decideStructure facts, alternatives, dissent and prediction.
validateDefine a Validation Contract before results exist.
challengeAdversarial review without modifying the PDR.
prioritizeCompare Bets by strategy, evidence, cost and learning value.
diagnoseFind the highest-leverage product health issues.
shipRun the deterministic Ship Gate on an accepted Bet.
reviewCompare prediction with outcome and extract learning.
showRetrieve decision history.
auditDecision Health plus deterministic linter findings.
hooksInspect and change lifecycle automation.
A Product Decision Record (PDR) is a versioned, human-readable file. This one is real — the first decision recorded in this repository.
---
id: DEC-0001
title: Ship deterministic CLI before agent workflows
status: accepted
created_at: 2026-08-13
owner: siftos-team
confidence: medium
reversibility: high
review_date: 2026-09-13
---
## Decision
Ship the deterministic CLI first, agent workflows after.
## Facts
- The deterministic core has 112 passing unit tests.
- The eval suite runs deterministic workflows against five fixtures.
## Options Considered
- A. Ship agent workflows first (rejected)
- C. Ship both at once (rejected)
## Primary Metric
Number of sample decisions that parse, validate, and appear in audit.
## Expected Outcome
Local install is healthy, sample decisions validate, and the audit report
reflects real content.
## Guardrails
If a sample PDR fails validation, stop and fix the core before adding more.
## Outcome
Observed result: unknown. Review: 2026-09-13.Rejected alternatives stay on the record too — struck through, never erased. Read the full record, or the quickstart for the ten-minute walkthrough.
Five commitments the repository itself enforces.
Every PDR is a markdown file with an id, a lifecycle, and a diff. The reasoning travels with the code it shaped — forever.
One canonical skill definition, shared across Codex, OpenCode and DeepSeek Harness, no migration.
.product/ holds the memory. No remote database, no vendor cloud, no export puzzle.
Adapters are advisory, balanced, or strict — always explicit, never default-on.
The Ship Gate runs deterministically; the expected outcome stays visible next to the measured one.
No account, no database, no vendor. Copy, paste, and the record lives in your repo.
.product/
├── PRODUCT.md
├── STRATEGY.md
├── METRICS.md
├── PRINCIPLES.md
├── ROADMAP.md
├── config.json
├── decisions/
└── evidence/npx @felipcsousa/siftos installRuns anywhere Node 18+ is installed. MIT licensed, no telemetry.
The protocol, the CLI, and the memory format are all in the repository.
SiftOS is MIT-licensed. The deterministic core, the skill definition, and the workflows are open for review and improvement.
Read CONTRIBUTINGA workflow missing from the protocol, or a decision format that should exist? Open an issue — it becomes a decision record itself.
Open an issue