Releases: jangjun7091/ai-company
Release list
v0.4.0
Changed
-
The Product Spec is now agent-drafted then founder-ratified, not produced by a full interview.
idea-to-release.mddistinguishes the two artifacts: the Idea Brief is elicited (its intent lives only in the founder's head), while the Product Spec is derived — the agent drafts it from the approved Idea Brief and the founder documents (especiallyquality-bar.md), then the founder ratifies the load-bearing few (acceptance-criteria thresholds, non-goals, human-gate impacts) and the agent asks only where "good" is genuinely underdetermined, never burying a guessed threshold.AGENTS.mdFeature work and theproduct-spec.mdpointer comment updated to match. (#24) -
Two audit decisions are recorded in the maintainer docs: model-neutrality binds the operating contract (
AGENTS.md,company/,templates/,docs/) while the README adapter list and historical provenance notes may name vendors (MAINTAINING.mdinvariant 2); andtemplates/experiment.mdstays deliberately unwired until the 0.5.0 experiment loops (ROADMAP.md). (#60)
Added
- "Executing build tasks" discipline in
company/workflows/idea-to-release.mdfor delegating build work to workers (a subagent or any external CLI that readsAGENTS.md): one task with tight scope, isolate per branch/worktree, least privilege (read-only for review, write only for implementation, no sandbox bypass outside a disposable runner), verify-before-merge (a worker's self-report is not evidence), and keep the human gates for irreversible or outward-facing actions. Model-neutral by design — no vendor named. (#27) - Altitude-and-resolution guard for the Idea Brief / Product Spec interview in
company/workflows/idea-to-release.md: the interviewer holds each artifact at its altitude (the founder owns intent; the agent owns mechanism), defers implementation detail the founder volunteers to the Spec and Build phases instead of deepening to match, and states the decision-grade resolution it needs so the founder neither over-specifies (anchoring the agent) nor under-specifies (confident-wrong output). Found by running the #20 interview on a real product. (#22) - Founder-interview discipline for the Idea Brief in
company/workflows/idea-to-release.md: the brief is elicited through a bounded founder interview, not drafted unilaterally, reusing thebootstrap-interview.mdinterviewer stance with stage-specific additions (ground ambition in feasibility, make the quality bar checkable, distill rather than transcribe). Wired fromAGENTS.mdFeature work and pointer comments in both templates. #20 originally produced the Product Spec through the same interview; the drafted-then-ratified model described under Changed (#24) supersedes that part. (#20) AGENTS.mdContext discipline section: an affordance-style guide to loading context — state files as the index,current_mission/active_specpointers for the current step, load-on-demand as the default, prefer fetching over guessing, and escalate rather than read everything to infer a missing decision. Framed explicitly as affordances and defaults, not a fixed read-list, so it orients a strong orchestrator instead of caging it while giving a smaller sub-agent a floor. (#18)company/workflows/founder-doc-revision.md: how to revise confirmed founder documents — everyday evolution by moving items between sections, substantive changes recorded as ADRs, with the weekly operating review as the cadence and a no-silent-change rule. Referenced fromAGENTS.mdandweekly-operating-review.md. (#16)
Fixed
doctor.pyfails whencompany/agents/contains no role contracts: the escalation-vocabulary check silently no-opped on an empty or missing directory, so a repo with zero agent contracts passed althoughAGENTS.mdoperates through them. Fork-safe — any*.yamlsatisfies it; the shipped eight are not required by name. Locked by a fixture test. (#57)- The first weekly operating review actually gets scheduled: the bootstrap exit gate also sets
next_review(workflow exit step and state-updates line,session_start.pyexit-step text, state-file comment). Previously the field's only writer was the weekly review itself, so nothing ever triggered the first one. (#62) - The release checklist specifies that the
versionbump inai-company.yamlproduces full SemVer (x.y.z) — releases so far wroteX.Y(0.3), leaving the field MAINTAINING calls the SemVer single source of truth in a non-SemVer format. The field itself normalizes at the next release, per the founder's decision; no mid-cycle edit. (#58) - The Definition of Ready is satisfiable where it is checked: the Idea Brief covers the brief-level items,
acceptance_criteria_testableis satisfied by the derived Product Spec, and the full gate passes before Build. Previously both workflow references told the agent the brief alone satisfies a gate whose criteria item is — post-#24 — a Spec artifact. Gate vocabulary unchanged. (#55) - The repository map in
README.mdandREADME.ko.mdmatches the tree: all five workflows (founder-doc-revisionwas missing) and the fulldocs/set (research and incidents were missing). (#53) - The resume protocol in
MAINTAINING.mdno longer hardcodes a milestone that goes stale after every release: the issue-list step takes the current milestone fromROADMAP.md's "Next:" heading (it pointed at the already-released v0.3.0, so a resuming session saw zero planned issues). (#51) session_start.py's operating-mode instruction matches the #18 Context discipline — start from the state-file index and load what the current step needs — instead of the fixed read-list ("Read current specs, decisions, review queues, and evidence") that predates it. (#49)- The worker-delegation topology in
idea-to-release.mdreads as defaults, not mandates: a single task file per worker and per-worker branch/worktree isolation are the stated defaults with their override criteria, matching the contract's affordances-and-defaults posture. The safety bullets — least privilege and no sandbox bypass, verify-before-merge, human gates — stay firm. (#47) - The operating loop in
idea-to-release.mdis fully wired: Verify namesdefinition_of_doneinai-company.yamlas the completion bar (previously the manifest's done-gate was invoked by no workflow), Observe routes failures intoincident-to-learning.md, and Learn hands the next mission back to Discover (stage: discovery) — previously the loop dead-ended atlearning. (#45) - Every state field has a named writer: escalations record the blocked task's id in
blocked_by_humanand clear it on resolution (AGENTS.md); open ADR ids are tracked inactive_decisions(docs/decisions/README.md); the weekly operating review keepsactive_productsandportfolio_stagecurrent. Previously all four fields were written by nothing —company-state.yaml's header even named writers that never wrote it — andblocked_by_human's comment promised "human-assistance-request ids" although escalations only carry atask_id. Comments fixed to match. (#43) doctor.pyrequires the templates the workflows build artifacts from —idea-brief,product-spec,adr,incident,research-note— so deleting one fails the contract check instead of leaving a workflow step silently unexecutable. Locked by a new fixture test. (#41)templates/adr.mdsatisfies its governing schema and uses one id scheme: a## Questionsection (decision.schema.jsonrequiresquestion) andId: ADR-NNN— previously the title saidADR-NNNwhile the Id line saidDEC-NNN. (#39)templates/product-spec.mdcan record the ratification the workflow requires: aStatus: draft <!-- draft | ratified -->line and a## Founder ratificationblock — one checkbox per explicitly-confirmed item fromidea-to-release.md(acceptance criteria incl. agent-chosen thresholds, quality bar and non-goals, human-gate impacts) plus a ratified date — mirroring the Idea Brief's founder-decision block. Previously nothing in the artifact distinguished a draft spec from a ratified one. (#37)- Artifact instructions name their destinations: the Idea Brief and Product Spec are written using their templates into the mission's folder under
docs/specs/— previouslyidea-to-release.mdsaid "recorded intemplates/idea-brief.md", which reads as writing into the blank template — and incident records get a home, the newdocs/incidents/(with README), named fromincident-to-learning.md. (#35) - The bootstrap exit gate records
current_mission(the approved first Idea Brief's path) alongsidestageandproject_name— in the workflow's section-6 state updates and exit step 2, thesession_start.pyexit-step text, and theproject-state.yamlfield comment. Previously the brief was approved during bootstrap but nothing pointed at it, so the next session's state index (AGENTS.mdContext discipline) lost the first mission. The mechanical gate itself is unchanged. (#33) idea-to-release.mdno longer describes acceptance criteria as an interview product: the Idea Brief interview elicits the concrete quality bar, and the derived Spec restates it as observable or machine-checkable criteria — matching the drafted-then-ratified model. The interviewer stance is scoped to the brief interview plus the Spec's ratification questions, and founder-volunteered implementation detail is parked indocs/decisions/(statusdeferred), the conventionbootstrap-interview.mdalready uses. (#31)
v0.3.0
The dogfooding-hardening release: every change came from running the template on a real company.
Highlights
- Faithful capture — the bootstrap interview records founder answers in concrete detail (own words, examples, numbers), not a compressed summary.
- Rigorous interviewer — a non-sycophantic interviewer that probes vague answers and digs for intent, while the founder still owns the vision.
- No skipped questions — interview sub-questions are numbered, with a per-section coverage check before anything is written.
- Founder altitude — founder docs stay founder-level; implementation details route to
docs/decisions/(deferred). - Research has a home —
docs/research/andtemplates/research-note.md, and the Customer & Market Research agent's evidence log now has a location.
See CHANGELOG.md for the full 0.2.0 → 0.3.0 diff, and ROADMAP.md for 0.4.0 ("prove it works end to end").
v0.2.0
First public release of the AI Company Starter — a git-native operating system template for a founder working with AI agent teams.
Highlights
- Reliable, documented bootstrap exit gate (confirm the five founder docs, advance the stage).
- Fixture-based tests, so CI stays green after you configure the template.
- Real contract validation in
doctor.py(stage, portfolio stage, and escalation vocabulary). - Artifact templates wired to their JSON schemas, plus evidence and learning-entry templates.
- Public-repo docs: MIT license, CONTRIBUTING, CHANGELOG, English + Korean README.
- Cross-session maintenance system (
MAINTAINING.md,ROADMAP.md).
See CHANGELOG.md for the full 0.1.0 → 0.2.0 diff, and ROADMAP.md for what's next (0.3.0).
Use it: click Use this template, or gh repo create my-company --template jangjun7091/ai-company --private --clone.