The ledger of record for product decisionsHome

Build knowing what to measure.

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

Install in your terminal
npx @felipcsousa/siftos install

Installs the SiftOS skill into your repository via npm.

Paste into your agent
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.

Your LLM already decided for you.

An idea can become code before anyone notices that a product choice was made. The reasoning, the alternatives, the expected outcome — gone, silently.

Before · inferred silently
Ship deterministic CLI before agent workflows — no metric · no reasoning · no record

The agent shipped a product decision without a record. There is no.product/decisions/DEC-0000.md on disk — only the changed code.

After · with SiftOS
DEC-00012026-08-13

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
Decidedthe metric was named before the build

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.

The loop that closes.

Four moves, each one a dated entry in your repository.

01 · Decision

Shape it consciously

What are we deciding, what are the options, and who owns the call?

02 · Prediction

Name the metric

Write the expected outcome and the metric that will judge it — before building.

03 · Outcome

Post the result

When results land, the outcome posts with the measured delta — next to the prediction.

04 · Learning

Close the loop

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.

12 workflows5 memory files0 automatic interventions by default1 source of truth — .product/

The protocol. Twelve commands.

One shared vocabulary for you and your agent — each command names one kind of intervention, from first shape to Ship Gate.

init

Build persistent product context progressively.

shape

Turn an idea into a Bet — hypothesis, scope, measurement.

decide

Structure facts, alternatives, dissent and prediction.

validate

Define a Validation Contract before results exist.

challenge

Adversarial review without modifying the PDR.

prioritize

Compare Bets by strategy, evidence, cost and learning value.

diagnose

Find the highest-leverage product health issues.

ship

Run the deterministic Ship Gate on an accepted Bet.

review

Compare prediction with outcome and extract learning.

show

Retrieve decision history.

audit

Decision Health plus deterministic linter findings.

hooks

Inspect and change lifecycle automation.

A Bet is a decision with a hypothesis and a metric you will measure. Deterministic means the same inputs always give the same verdict — no arguing with the gate.

A decision, kept on the record.

A Product Decision Record (PDR) is a versioned, human-readable file. This one is real — the first decision recorded in this repository.

decisions/DEC-0001-deterministic-core-first.md2026-08-13
---
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.

Kept on the record, not in a vendor.

Five commitments the repository itself enforces.

01

Decisions are versioned in git

Every PDR is a markdown file with an id, a lifecycle, and a diff. The reasoning travels with the code it shaped — forever.

02

Works where your agents work

One canonical skill definition, shared across Codex, OpenCode and DeepSeek Harness, no migration.

03

The repository is the source of truth

.product/ holds the memory. No remote database, no vendor cloud, no export puzzle.

04

The human owns every decision

Adapters are advisory, balanced, or strict — always explicit, never default-on.

05

Outcomes post, predictions never rewrite

The Ship Gate runs deterministically; the expected outcome stays visible next to the measured one.

Start your first decision in 10 minutes.

No account, no database, no vendor. Copy, paste, and the record lives in your repo.

what siftos init scaffolds into your repo.product/
.product/
├── PRODUCT.md
├── STRATEGY.md
├── METRICS.md
├── PRINCIPLES.md
├── ROADMAP.md
├── config.json
├── decisions/
└── evidence/

Then ask your agent to runsiftos init and start your first record: it writes a new.product/decisions/ file with a prediction and a metric — before any code.

Install in your terminal
npx @felipcsousa/siftos install

Runs anywhere Node 18+ is installed. MIT licensed, no telemetry.

Built in the open.

The protocol, the CLI, and the memory format are all in the repository.

Contribute

SiftOS is MIT-licensed. The deterministic core, the skill definition, and the workflows are open for review and improvement.

Read CONTRIBUTING

Request an improvement

A workflow missing from the protocol, or a decision format that should exist? Open an issue — it becomes a decision record itself.

Open an issue