Imported from ktrmnm/jettisonize (
AGENTS.md). Install upstream withnpx skills add ktrmnm/jettisonize. Copyright stays with the author.
Jettisonize Operating Rules
This repository uses the Jettisonize method.
Jettisonize treats story-scoped working context as disposable. Durable project memory must stay small, explicit, and intentional.
Core Rules
- Every substantial story gets a booster under
boosters/<story-id>/. - A new booster starts with
story.mdonly. spec.md,plan.md,status.md, and optional support files are added only after the story draft has been reviewed and accepted for execution.- A booster may include
notes.mdorartifacts/when the story needs them. - A booster contains only handoff-critical documents.
- Temporary working files, scratch notebooks, one-off exports, and exploratory artifacts do not need to live in the booster.
- If temporary files matter for recovery or traceability, record their paths in
status.mdor another story-local support file. - No story begins without explicit deliverables,
done when, and guardrails. - No story is complete until it changes project state or stakeholder decisions.
- No booster survives by default after acceptance. Promote durable knowledge first, then archive or delete the booster.
- Durable outputs must not depend on booster-local assets by reference. Boosters may point outward to durable docs, but durable docs must remain valid after the booster is archived or deleted.
Story Eligibility
A story is valid only if all of the following are true.
- It has clear background and purpose.
- It defines concrete deliverables.
- It defines
done whenin a way that a human or audit rule can evaluate. - Completion changes implementation, understanding, or stakeholder decisions.
- The story is expected to complete within two weeks.
If these conditions are not met, split the work or redefine the story before fueling it.
Booster Lifecycle
1. Fuel
Create a story-first booster draft from the template.
Required fields:
- story ID
- title
- epic linkage or epic label
- story preset
- acceptance mode
- deliverables
done when- guardrails
At this stage, create story.md only. Human review happens before execution documents exist.
2. Ready
After the story draft is reviewed and accepted, expand the booster into an execution bundle.
Ready normally creates:
spec.mdplan.mdstatus.md
ready creates the execution bundle, but it does not imply that spec.md or plan.md have been human-reviewed. In v1, ready should normally move the story into Propel Status: plan-draft.
3. Propel
Work happens inside the booster.
During active work:
- update
status.mdat every meaningful decision boundary - keep
plan.mdaligned with current intent - move stable conclusions into durable project docs when they stop being story-local
- if an active booster fuels a second booster that blocks its next propel step, record that dependency in the first booster's
status.mdand name the immediate task that should resume after the blocker is closed - when the blocking booster is closed, append that closure fact to the blocked booster's
status.md; do not reconstruct the resumed task at close time
4. jettison
Before retirement:
- confirm the declared deliverables exist
- confirm acceptance evidence exists
- copy durable findings to the persistent layer
- record what was intentionally discarded
- if the booster was blocking another booster, append the unblock note to the parent booster's
status.md - archive the booster by default in this repo
Default policy in this repo: archive completed boosters before considering deletion.
Document Roles
story.md
- problem statement, deliverables,
done when, guardrails - draft review surface before execution begins
spec.md
- local constraints, interfaces, acceptance notes, non-goals
plan.md
- ordered steps, dependencies, verification approach
status.md
- dated progress notes, decisions, blockers, next action, checkpoint
- if another booster is acting as a blocker, the dependency, the future resumed task, and the later unblock note belong here
- includes
Propel Status, the review / execution readiness state for the story - includes
Booster Lifecycle, the lifecycle state for the booster Checkpointis the fixed restart-summary section and stays distinct fromCurrent StateLogis reverse chronological: newest entries are added at the top- each
Logentry should use a short dated heading plus structuredDecision,Findings,Blockers, andNext actionlines - use
status-rules.mdandscripts/update_status.shas the canonical update surface
State Model
Jettisonize v1 uses a 2-layer visible state model.
Propel Statuslives instatus.mdand describes review / execution readinessBooster Lifecyclelives instatus.mdand describes where the booster is in the lifecycle
Both are part of status.md because both are current state that changes over time. story.md should remain closer to a stable story statement.
Allowed Propel Status values
draftstory-reviewedplan-draftplan-revieweddoneclosed
Meaning:
draft:fuelcompleted;story.mdexists but has not been human-reviewedstory-reviewed:story.mdis accepted and the booster may enterreadyplan-draft:readycompleted; execution bundle exists butspec.md/plan.mdare still being drafted or refinedplan-reviewed:spec.md/plan.mdare reviewed enough forpropeldone: deliverables anddone whenare satisfied; the booster is ready for jettison checksclosed: jettison is complete
Allowed Booster Lifecycle values
fuelreadypropeljettison
Meaning:
fuel: story-first drafting and review preparationready: execution bundle exists and the booster is being prepared for executionpropel: execution is underwayjettison: close, acceptance finalization, archive, and upstream handoff
Transition Guidance
- After
fuel, setPropel Statustodraft - After human story review accepts the story, set
Propel Statustostory-reviewed - After
ready, setBooster LifecycletoreadyandPropel Statustoplan-draft - After human review accepts
spec.md/plan.md, setPropel Statustoplan-reviewed - When execution actually starts, set
Booster Lifecycletopropel - When deliverables and
done whenare satisfied, setPropel Statustodone - When jettison begins, set
Booster Lifecycletojettison - When jettison completes, set
Propel Statustoclosed
Close semantics:
- Before close:
Propel Status = done,Booster Lifecycle = jettison - After close:
Propel Status = closed,Booster Lifecycle = jettison
Skill Boundary
Durable rules define allowed values, meanings, and preferred transitions.
Helper skills should guide actual transitions by:
- reading the current booster state
- checking whether prerequisites are met
- proposing the next valid
Propel StatusorBooster Lifecycle - eventually helping with
spec/plandraft generation and jettison checks
The rules should remain understandable without the skills, but the skills are expected to make real transitions safer and more consistent.
Asset Boundary
Jettisonize v1 uses a 3-layer responsibility split.
AGENTS.mdholds repo-global durable operating rules only.- repo-root durable docs and canonical assets define the reviewed contract for this repository.
skills/holds operator workflow and skill-private supporting context.
Canonical repo-root assets in this repo include:
templates/booster/scripts/.github/assets/for GitHub-facing branding assets referenced by the public repo surface- durable decision records and method docs in the repo root
These assets are authoritative for repo behavior and should remain discoverable without reading skill internals first.
skills/ may contain:
- step-by-step workflow
- refusal conditions
- required inputs
- skill-private examples or supporting files
Do not duplicate the same canonical contract across repo-root assets and skill-private files. If a rule or asset is repo-authoritative, keep that authority in the durable layer and let skills point to it.
story-local support files
- optional additions such as
notes.mdorartifacts/when the story needs extra handoff-critical context - if restart, rollback, or temporary-path details matter, record them explicitly without making a repo-wide canonical filename mandatory
Handoff Rule
A fresh agent should be able to resume a story from the booster alone. If the booster is still in draft mode, story.md must be sufficient to review scope and acceptance. If the booster is in execution mode, the execution bundle must be sufficient to continue work. If resumption requires hidden conversational history, the booster is incomplete.
Context Discipline
- Keep global rules in
AGENTS.mdor other durable docs. - Keep story-local execution context in the booster.
- Keep the booster minimal. Prefer the core handoff bundle over ad hoc parallel documents.
- Temporary files may live outside the booster. The booster should point to them, not necessarily contain them.
- If a work product becomes broadly reusable or durable, promote it out of the booster into the persistent layer.
- When promoting a durable output, rewrite any booster-local dependency into durable form before promotion. A durable doc must not require
boosters/<story-id>/...to stay interpretable. - Do not turn
AGENTS.mdinto a backlog or diary. - Do not turn boosters into long-lived project memory.
Skills
The first skills for this repo are:
jettison-fueljettison-readyjettison-hydratejettison
Use them as the default way to start or resume a story once the repo contains active boosters.
Their workflows live in skills/, while the canonical scripts and templates they invoke live under scripts/ and templates/booster/.