Confirm that Claude Code opens the intended repository with understandable commands, settings, and a safe starting state.
Scope
CLI installation, authorization, and version.
Repository README, scripts, and project settings.
Git status and the first recovery checkpoint.
Non-goals
Editing application code.
Relaxing permissions to bypass an unclear problem.
Publishing secrets or taking irreversible actions.
Success
The repository and current state are identified.
Run and verification commands are located in the repository.
Unverified areas are marked Unknown.
Session rules
Start with read-only inspection and git status.
Never store credentials in files or prompts.
Stop if the active directory is not the intended repository.
Filled TASK_SPEC · documented example
# TASK_SPEC
Type: environment-setup
Mode: General
Goal: Confirm that Claude Code opens the intended repository with understandable commands, settings, and a safe starting state.
Scope:
- CLI installation, authorization, and version.
- Repository README, scripts, and project settings.
- Git status and the first recovery checkpoint.
Non-goals:
- Editing application code.
- Relaxing permissions to bypass an unclear problem.
- Publishing secrets or taking irreversible actions.
Success:
- The repository and current state are identified.
- Run and verification commands are located in the repository.
- Unverified areas are marked Unknown.
Rules:
- Start with read-only inspection and `git status`.
- Never store credentials in files or prompts.
- Stop if the active directory is not the intended repository.
Turn a user need into a small end-to-end change with observable desired behavior and checkable acceptance.
Scope
One user flow and its entry points.
Required UI, API, or domain changes plus focused tests.
The documented public contract affected by the slice.
Non-goals
An unrequested redesign.
General cleanup in neighboring modules.
Business-rule changes outside the request.
Success
The new behavior is described through observable signals.
Existing scenarios remain protected.
Acceptance and verification are tied to the diff.
Session rules
Separate goal, scope, constraints, and acceptance.
Do not treat a ticket-named file as proven change location.
Agree on the plan before editing.
Filled TASK_SPEC · documented example
# TASK_SPEC
Type: feature
Mode: General
Goal: Turn a user need into a small end-to-end change with observable desired behavior and checkable acceptance.
Scope:
- One user flow and its entry points.
- Required UI, API, or domain changes plus focused tests.
- The documented public contract affected by the slice.
Non-goals:
- An unrequested redesign.
- General cleanup in neighboring modules.
- Business-rule changes outside the request.
Success:
- The new behavior is described through observable signals.
- Existing scenarios remain protected.
- Acceptance and verification are tied to the diff.
Rules:
- Separate goal, scope, constraints, and acceptance.
- Do not treat a ticket-named file as proven change location.
- Agree on the plan before editing.
TASK_SPEC.mdA reader-facing TASK_SPEC.md record that keeps a verifiable contract for one bounded change explicit for review.
# TASK_SPEC.md
Goal: let an operator add an optional note to a refund.
Scope: form, endpoint, storage contract, and focused tests.
Non-goals: payment rules, approval flow, unrelated UI.
Verification: the note is stored and returned in the detail view.
Status: documented example; execution result: Unknown.
Example boundary: A feature-planning example, not evidence that a particular system was changed.
Make readiness conditions observable, measurable, and suitable for independent verification.
Scope
Functional and negative scenarios.
Compatibility plus UI or API signals.
Commands, expected results, and failure conditions.
Non-goals
Mandating a particular library.
A vague “make it better” criterion.
An automatic merge decision.
Success
Every criterion has a signal and a check.
Behavior that must remain unchanged is named.
Definition of done covers scope, diff, checks, and review.
Session rules
Derive criteria from confirmed facts.
Keep acceptance separate from the implementation plan.
Mark an unperformed check Unknown.
Filled TASK_SPEC · documented example
# TASK_SPEC
Type: acceptance-verification
Mode: General
Goal: Make readiness conditions observable, measurable, and suitable for independent verification.
Scope:
- Functional and negative scenarios.
- Compatibility plus UI or API signals.
- Commands, expected results, and failure conditions.
Non-goals:
- Mandating a particular library.
- A vague “make it better” criterion.
- An automatic merge decision.
Success:
- Every criterion has a signal and a check.
- Behavior that must remain unchanged is named.
- Definition of done covers scope, diff, checks, and review.
Rules:
- Derive criteria from confirmed facts.
- Keep acceptance separate from the implementation plan.
- Mark an unperformed check Unknown.
EVIDENCE.mdA reader-facing EVIDENCE.md record that keeps facts, decisions, checks, and residual uncertainty explicit for review.
# EVIDENCE.md
Criterion: an empty-cart request is handled predictably
Signal: one response with the agreed error body
Check: <targeted API test — command to verify>
Fail: server error or changed valid-order response
Status: planned documented example; result: Unknown.
Example boundary: The verification plan is filled as an example; commands and results need a concrete repository.
Separate the raw issue into problem, impact, evidence, requirements, assumptions, boundaries, and open questions.
Scope
Issue text, comments, labels, and attachments.
Read-only investigation handoff.
Non-goals, risks, and the next step.
Non-goals
Automatically accepting the proposed fix.
Editing code during intake.
Closing open questions with assumptions.
Success
The next engineer can recover context without a verbal briefing.
Facts and hypotheses are separated.
One concrete next step is named.
Session rules
Do not treat a ticket-named file as a proven cause.
Check the public contract separately.
Keep Unknown explicit.
Filled TASK_SPEC · documented example
# TASK_SPEC
Type: issue-intake
Mode: General
Goal: Separate the raw issue into problem, impact, evidence, requirements, assumptions, boundaries, and open questions.
Scope:
- Issue text, comments, labels, and attachments.
- Read-only investigation handoff.
- Non-goals, risks, and the next step.
Non-goals:
- Automatically accepting the proposed fix.
- Editing code during intake.
- Closing open questions with assumptions.
Success:
- The next engineer can recover context without a verbal briefing.
- Facts and hypotheses are separated.
- One concrete next step is named.
Rules:
- Do not treat a ticket-named file as a proven cause.
- Check the public contract separately.
- Keep Unknown explicit.
TASK_SPEC.mdA reader-facing TASK_SPEC.md record that keeps a verifiable contract for one bounded change explicit for review.
# ISSUE_INTAKE_NOTE
Problem: an empty items list causes a server error.
Impact: a customer cannot complete checkout.
Evidence: reproducible request and service trace.
Requirement: handle the state predictably.
Hypothesis: total calculation reads an absent item.
Open question: expected API status and error body.
Out of scope: checkout redesign.
Status: documented example.
Example boundary: The fields demonstrate a documented educational intake example; no particular issue was analyzed.
Turn confirmed findings into small ordered changes with risks, verification, a stop condition, and rollback.
Scope
Affected files and modules.
Ordered implementation steps.
Acceptance links and failure path.
Non-goals
Editing before approval.
Expanding scope through cleanup.
Planning unrelated features.
Success
The plan is self-contained for implementation.
Every step has a check.
Broad or risky steps have a stop condition.
Session rules
Plan after investigation.
Keep one logical intent per slice.
Do not hide risk behind the word “refactor”.
Filled TASK_SPEC · documented example
# TASK_SPEC
Type: implementation-plan
Mode: General
Goal: Turn confirmed findings into small ordered changes with risks, verification, a stop condition, and rollback.
Scope:
- Affected files and modules.
- Ordered implementation steps.
- Acceptance links and failure path.
Non-goals:
- Editing before approval.
- Expanding scope through cleanup.
- Planning unrelated features.
Success:
- The plan is self-contained for implementation.
- Every step has a check.
- Broad or risky steps have a stop condition.
Rules:
- Plan after investigation.
- Keep one logical intent per slice.
- Do not hide risk behind the word “refactor”.
PLAN.mdA reader-facing PLAN.md record that keeps ordered steps, risks, and a stop condition explicit for review.
# PLAN.md
Goal: handle empty-cart input without changing valid orders.
1. Reproduce and record the failing case.
2. Add a domain guard and focused test.
3. Confirm API mapping with a contract test.
4. Review the diff and adjacent scenarios.
Stop: shared pricing behavior needs a broader decision.
Rollback: revert the single slice.
Status: documented example.
Example boundary: The plan does not mean that its steps were executed.
Separate symptoms from hypotheses, trace a flow, and return an evidence-backed finding or the next safe check.
Scope
One failure or runtime flow.
Code, tests, configuration, logs, and reproduction steps.
Confidence, unknowns, and next action.
Non-goals
Editing during discovery.
Inferring a cause from a filename alone.
A long transcript instead of a concise conclusion.
Success
Every conclusion has an evidence anchor.
Hypotheses are not presented as facts.
Unsafe actions are not launched automatically.
Session rules
Stay read-only until separate approval.
Remove secrets and personal data from logs.
Incomplete evidence means Unknown.
Filled TASK_SPEC · documented example
# TASK_SPEC
Type: investigation-diagnosis
Mode: General
Goal: Separate symptoms from hypotheses, trace a flow, and return an evidence-backed finding or the next safe check.
Scope:
- One failure or runtime flow.
- Code, tests, configuration, logs, and reproduction steps.
- Confidence, unknowns, and next action.
Non-goals:
- Editing during discovery.
- Inferring a cause from a filename alone.
- A long transcript instead of a concise conclusion.
Success:
- Every conclusion has an evidence anchor.
- Hypotheses are not presented as facts.
- Unsafe actions are not launched automatically.
Rules:
- Stay read-only until separate approval.
- Remove secrets and personal data from logs.
- Incomplete evidence means Unknown.
Create an evidence-backed map of the stack, modules, entry points, runtime flows, dependencies, and unknowns.
Scope
Top-level structure and manifests.
Key modules, tests, and commands.
One dependency or runtime slice.
Non-goals
Reading the entire repository sequentially.
Refactoring discovered problems.
Drawing conclusions from directory names alone.
Success
A new engineer knows where to find the logic.
The map includes sources and confidence.
Open questions remain distinct from facts.
Session rules
Use a separate read-only session.
Keep facts and assumptions separate.
Do not change files while mapping.
Filled TASK_SPEC · documented example
# TASK_SPEC
Type: codebase-discovery
Mode: General
Goal: Create an evidence-backed map of the stack, modules, entry points, runtime flows, dependencies, and unknowns.
Scope:
- Top-level structure and manifests.
- Key modules, tests, and commands.
- One dependency or runtime slice.
Non-goals:
- Reading the entire repository sequentially.
- Refactoring discovered problems.
- Drawing conclusions from directory names alone.
Success:
- A new engineer knows where to find the logic.
- The map includes sources and confidence.
- Open questions remain distinct from facts.
Rules:
- Use a separate read-only session.
- Keep facts and assumptions separate.
- Do not change files while mapping.
Reproduce a defect, test the cause, make the smallest safe fix, and leave evidence that a reviewer can inspect.
Scope
One failure path.
A regression case and an adjacent positive scenario.
The diff, checks, and remaining-risk record.
Non-goals
Rewriting the entire error architecture.
Feature work during the bugfix.
Inventing test results.
Success
The defect is reproducible before the fix.
A regression check protects the repaired scenario.
External contract changes are explicit and approved.
Session rules
Diagnose from facts before editing.
Inspect the diff after every change.
An Unknown cause is not permission for a broad patch.
Filled TASK_SPEC · documented example
# TASK_SPEC
Type: bugfix
Mode: General
Goal: Reproduce a defect, test the cause, make the smallest safe fix, and leave evidence that a reviewer can inspect.
Scope:
- One failure path.
- A regression case and an adjacent positive scenario.
- The diff, checks, and remaining-risk record.
Non-goals:
- Rewriting the entire error architecture.
- Feature work during the bugfix.
- Inventing test results.
Success:
- The defect is reproducible before the fix.
- A regression check protects the repaired scenario.
- External contract changes are explicit and approved.
Rules:
- Diagnose from facts before editing.
- Inspect the diff after every change.
- An Unknown cause is not permission for a broad patch.
diagnosis.jsonA reader-facing diagnosis.json record that keeps a compact status classification with confidence and next action explicit for review.
{
"symptom": "empty items[] returns a server error",
"evidence": ["request fixture", "service trace"],
"hypothesis": "total calculation reads an absent first item",
"confidence": "needs verification",
"nextAction": "add a regression case before editing",
"status": "documented example"
}
Example boundary: Documented workflow example; it does not claim that a real bugfix or test run occurred.
Improve internal structure while preserving observable behavior, public APIs, side effects, and invariants.
Scope
One structural change.
Dependent focused checks and diff review.
An explicit rollback point.
Non-goals
New features or bug fixes.
Dependency or framework upgrades.
Data-format or contract changes.
Success
The diff has one structural purpose.
Characterization and targeted checks show no unapproved behavior change.
A rollback point is recorded.
Session rules
Do not begin by editing.
Work in one reviewable slice.
Stop when public behavior changes.
Filled TASK_SPEC · documented example
# TASK_SPEC
Type: refactoring
Mode: General
Goal: Improve internal structure while preserving observable behavior, public APIs, side effects, and invariants.
Scope:
- One structural change.
- Dependent focused checks and diff review.
- An explicit rollback point.
Non-goals:
- New features or bug fixes.
- Dependency or framework upgrades.
- Data-format or contract changes.
Success:
- The diff has one structural purpose.
- Characterization and targeted checks show no unapproved behavior change.
- A rollback point is recorded.
Rules:
- Do not begin by editing.
- Work in one reviewable slice.
- Stop when public behavior changes.
Build a safety net for a narrow flow by recording actual inputs, outputs, errors, and side effects before refactoring.
Scope
One bounded flow.
Representative and edge-case inputs.
Observed results and explicit unknowns.
Non-goals
Correcting surprising behavior.
Replacing current behavior with preferred design.
A broad test rewrite.
Success
A test or record reproduces current behavior.
Unexpected results are called out.
The behavior to protect before change is agreed.
Session rules
Record observations, not assumed causes.
Do not alter implementation while establishing the baseline.
Mark everything unverified as Unknown.
Filled TASK_SPEC · documented example
# TASK_SPEC
Type: characterization
Mode: General
Goal: Build a safety net for a narrow flow by recording actual inputs, outputs, errors, and side effects before refactoring.
Scope:
- One bounded flow.
- Representative and edge-case inputs.
- Observed results and explicit unknowns.
Non-goals:
- Correcting surprising behavior.
- Replacing current behavior with preferred design.
- A broad test rewrite.
Success:
- A test or record reproduces current behavior.
- Unexpected results are called out.
- The behavior to protect before change is agreed.
Rules:
- Record observations, not assumed causes.
- Do not alter implementation while establishing the baseline.
- Mark everything unverified as Unknown.
CHARACTERIZATION_TESTS.mdA reader-facing CHARACTERIZATION_TESTS.md record that keeps baseline cases and observable behavior before change explicit for review.
# CHARACTERIZATION_TESTS.md
Flow: BillingService.calculateInvoice
Case: valid line items -> existing total
Case: invalid line item -> existing validation error
Case: rounding boundary -> record the observed value
Side effects: Unknown; inspect logs and collaborators.
Purpose: protect current behavior before structural change.
Status: documented example; tests not executed.
Example boundary: Safety-net example with deliberate Unknowns; it is not a report of executed tests.
Choose test levels and cases from risk instead of generating assertions disconnected from the contract.
Scope
Critical rules and boundary cases.
Unit, integration, API, or E2E level as justified.
Failure conditions and representative data.
Non-goals
Maximizing coverage for its own sake.
Brittle E2E coverage for every branch.
Changing production code without a separate task.
Success
Every important risk has a check.
Assertions describe an observable result.
Test data contains no secrets or personal data.
Session rules
State acceptance before choosing tests.
Do not trust a test that misses the required behavior.
Mark unexecuted results Unknown.
Filled TASK_SPEC · documented example
# TASK_SPEC
Type: tests
Mode: General
Goal: Choose test levels and cases from risk instead of generating assertions disconnected from the contract.
Scope:
- Critical rules and boundary cases.
- Unit, integration, API, or E2E level as justified.
- Failure conditions and representative data.
Non-goals:
- Maximizing coverage for its own sake.
- Brittle E2E coverage for every branch.
- Changing production code without a separate task.
Success:
- Every important risk has a check.
- Assertions describe an observable result.
- Test data contains no secrets or personal data.
Rules:
- State acceptance before choosing tests.
- Do not trust a test that misses the required behavior.
- Mark unexecuted results Unknown.
CONTRACT.mdA reader-facing CONTRACT.md record that keeps interfaces, responsibilities, invariants, and failure behavior explicit for review.
# CONTRACT.md
Scenario: empty refund reason
Given: the form is open and the reason is blank
When: the operator submits
Then: no request is sent and a field error is visible
Compatibility: POST /api/orders/{id}/refund remains unchanged.
Status: documented contract; execution: Unknown.
Example boundary: Documented test-contract example, not a pass/fail report for a real test suite.
Turn confirmed system facts into concise documentation for a specific reader without inventing details.
Scope
One document or section.
Actual commands, paths, and contracts.
Diff review and practical example checks.
Non-goals
Rewriting all documentation.
Adding unverified promises.
Publishing secrets, personal data, or internal tokens.
Success
Each important claim has a source.
Examples match observed behavior or are marked Unknown.
The documentation diff is reviewable.
Session rules
Define the reader and purpose first.
Check documentation against code, configuration, and tests.
Never present an illustrative snippet as production evidence.
Filled TASK_SPEC · documented example
# TASK_SPEC
Type: documentation
Mode: General
Goal: Turn confirmed system facts into concise documentation for a specific reader without inventing details.
Scope:
- One document or section.
- Actual commands, paths, and contracts.
- Diff review and practical example checks.
Non-goals:
- Rewriting all documentation.
- Adding unverified promises.
- Publishing secrets, personal data, or internal tokens.
Success:
- Each important claim has a source.
- Examples match observed behavior or are marked Unknown.
- The documentation diff is reviewable.
Rules:
- Define the reader and purpose first.
- Check documentation against code, configuration, and tests.
- Never present an illustrative snippet as production evidence.
research-digest.mdA reader-facing research-digest.md record that keeps a research question, source trail, and bounded recommendation explicit for review.
# research-digest.md
Audience: developer joining the repository
Confirmed: start command is <repository script — verify>
Confirmed: tests live at <path — verify>
Unknown: deployment environment and production permissions
Sources: <file paths and commands>
Status: documented example; no live inspection recorded.
Example boundary: A documentation example does not replace current documentation for a particular project.
Turn an approved plan into small logical parts that can be checked, reviewed, and reverted independently.
Scope
One intent per slice.
A limited file set.
Acceptance link, focused check, and rollback.
Non-goals
A big-bang pull request.
Hidden cleanup.
Mixing a feature, refactor, and dependency update.
Success
Every slice has a clear purpose.
The order does not hide an unfinished contract.
A reviewer can isolate a failure.
Session rules
Decompose after plan approval.
The first slice may be reproduction or evidence.
Stop when the diff expands.
Filled TASK_SPEC · documented example
# TASK_SPEC
Type: pr-slicing
Mode: General
Goal: Turn an approved plan into small logical parts that can be checked, reviewed, and reverted independently.
Scope:
- One intent per slice.
- A limited file set.
- Acceptance link, focused check, and rollback.
Non-goals:
- A big-bang pull request.
- Hidden cleanup.
- Mixing a feature, refactor, and dependency update.
Success:
- Every slice has a clear purpose.
- The order does not hide an unfinished contract.
- A reviewer can isolate a failure.
Rules:
- Decompose after plan approval.
- The first slice may be reproduction or evidence.
- Stop when the diff expands.
PR descriptionA reader-facing PR description record that keeps review context, checks, risks, and requested attention explicit for review.
# PR_DESCRIPTION
Intent: add the empty-cart domain guard.
Files: order service and focused test.
Verification: empty-cart regression plus valid-order check.
Out of scope: API redesign, UI changes, unrelated cleanup.
Rollback: revert this slice.
Status: documented example; checks: Unknown.
Example boundary: Example packaging for a pull-request slice, not an actual pull request.
Give a fresh reviewer enough state to reproduce evidence and continue a long task without guesswork.
Scope
Current diff and checkpoint.
Done, checked, risky, and unknown items.
One next action and a stop condition.
Non-goals
Transmitting secrets or the full transcript.
Automatically continuing after handoff.
Hiding failed checks.
Success
Another participant understands the state without a verbal handoff.
Rollback and checkpoint are named.
Unverified claims are marked.
Session rules
Separate facts from next steps.
Keep only the context needed to continue.
Do not confuse session rewind with Git rollback.
Filled TASK_SPEC · documented example
# TASK_SPEC
Type: handoff-recovery
Mode: General
Goal: Give a fresh reviewer enough state to reproduce evidence and continue a long task without guesswork.
Scope:
- Current diff and checkpoint.
- Done, checked, risky, and unknown items.
- One next action and a stop condition.
Non-goals:
- Transmitting secrets or the full transcript.
- Automatically continuing after handoff.
- Hiding failed checks.
Success:
- Another participant understands the state without a verbal handoff.
- Rollback and checkpoint are named.
- Unverified claims are marked.
Rules:
- Separate facts from next steps.
- Keep only the context needed to continue.
- Do not confuse session rewind with Git rollback.
Test an integration capability, permissions, lifecycle, and rollback in a narrow trial before sharing it with a team.
Scope
One capability and one bounded scenario.
Origin, permissions, and authentication boundary.
Log-only trial, verification, and kill switch.
Non-goals
Installing an unverified package for the team.
Credentials in the repository.
Blocking automation without evidence.
Success
The trial has a stated value signal.
Side effects and data boundaries are understood.
Disable and rollback are possible.
Session rules
Start manually or in log-only mode.
Grant the minimum permissions.
Stop on prompt injection or unclear ownership.
Filled TASK_SPEC · documented example
# TASK_SPEC
Type: extensions-evaluation
Mode: General
Goal: Test an integration capability, permissions, lifecycle, and rollback in a narrow trial before sharing it with a team.
Scope:
- One capability and one bounded scenario.
- Origin, permissions, and authentication boundary.
- Log-only trial, verification, and kill switch.
Non-goals:
- Installing an unverified package for the team.
- Credentials in the repository.
- Blocking automation without evidence.
Success:
- The trial has a stated value signal.
- Side effects and data boundaries are understood.
- Disable and rollback are possible.
Rules:
- Start manually or in log-only mode.
- Grant the minimum permissions.
- Stop on prompt injection or unclear ownership.
workflow.mdA reader-facing workflow.md record that keeps stages, owners, inputs, and failure handling explicit for review.
# workflow.md
Capability: inspect one issue and return a Markdown summary.
Input boundary: sanitized issue text only.
Permissions: read-only; no publish or deploy.
Trial: log-only for one controlled case.
Verification: output schema and data-boundary review.
Kill switch: disable the integration before widening scope.
Status: documented example.
Example boundary: Evaluation example; it does not claim that a plugin, MCP server, or hook was installed or run.
Split independent workstreams among roles with explicit ownership, output contracts, checkpoints, and a merge strategy.
Scope
Decomposition and dependency order.
Scoped tools and context for each role.
Handoff, merge strategy, and human checkpoint.
Non-goals
Parallelism for its own sake.
Uncoordinated edits to one file.
Automatic acceptance of agent output.
Success
Streams are independent or their dependencies are explicit.
Every output has evidence and status.
A person retains the merge or go/no-go decision.
Session rules
First decide whether a subagent is needed.
Delegate narrowly and limit tools.
Stop on conflict or absent safety net.
Filled TASK_SPEC · documented example
# TASK_SPEC
Type: agent-orchestration
Mode: General
Goal: Split independent workstreams among roles with explicit ownership, output contracts, checkpoints, and a merge strategy.
Scope:
- Decomposition and dependency order.
- Scoped tools and context for each role.
- Handoff, merge strategy, and human checkpoint.
Non-goals:
- Parallelism for its own sake.
- Uncoordinated edits to one file.
- Automatic acceptance of agent output.
Success:
- Streams are independent or their dependencies are explicit.
- Every output has evidence and status.
- A person retains the merge or go/no-go decision.
Rules:
- First decide whether a subagent is needed.
- Delegate narrowly and limit tools.
- Stop on conflict or absent safety net.
Classify a red job as test, build, environment, contract, or flaky and return an evidence-backed next action.
Scope
Job status and relevant sanitized output.
Local reproducibility.
Diagnosis, confidence, and safe next action.
Non-goals
An automatic production fix.
Putting secrets in a prompt.
Calling a failure flaky without checking it.
Success
The classification has a concrete evidence anchor.
Logs are sanitized.
The next action does not bypass approval.
Session rules
Start with the first reliable signal.
Keep CI status separate from root cause.
Incomplete logs mean Unknown.
Filled TASK_SPEC · documented example
# TASK_SPEC
Type: investigation-diagnosis
Mode: General
Goal: Classify a red job as test, build, environment, contract, or flaky and return an evidence-backed next action.
Scope:
- Job status and relevant sanitized output.
- Local reproducibility.
- Diagnosis, confidence, and safe next action.
Non-goals:
- An automatic production fix.
- Putting secrets in a prompt.
- Calling a failure flaky without checking it.
Success:
- The classification has a concrete evidence anchor.
- Logs are sanitized.
- The next action does not bypass approval.
Rules:
- Start with the first reliable signal.
- Keep CI status separate from root cause.
- Incomplete logs mean Unknown.
Describe a reproducible build and packaging workflow while separating technical signals from publish or deploy decisions.
Scope
Build command and clean environment.
Package or container path plus smoke signal.
Changelog, release notes, and human gate.
Non-goals
Production deployment.
Publishing without approval.
Hiding a failed build or incomplete smoke check.
Success
Input commands and output artifacts are defined.
Smoke criteria are observable.
The release boundary has an owner and rollback path.
Session rules
Claude can analyze but does not replace the build.
Use minimum permissions.
Do not claim a passing build without output.
Filled TASK_SPEC · documented example
# TASK_SPEC
Type: ci-build
Mode: General
Goal: Describe a reproducible build and packaging workflow while separating technical signals from publish or deploy decisions.
Scope:
- Build command and clean environment.
- Package or container path plus smoke signal.
- Changelog, release notes, and human gate.
Non-goals:
- Production deployment.
- Publishing without approval.
- Hiding a failed build or incomplete smoke check.
Success:
- Input commands and output artifacts are defined.
- Smoke criteria are observable.
- The release boundary has an owner and rollback path.
Rules:
- Claude can analyze but does not replace the build.
- Use minimum permissions.
- Do not claim a passing build without output.
commands.mdA reader-facing commands.md record that keeps a runnable command catalog with expected signals explicit for review.
# commands.md
Build: <repository build command>
Package: <clean packaging command>
Run: <local smoke command>
Expected: artifact exists and endpoint responds as specified.
Failure owner: <role>
Release action: human approval required.
Status: commands are a documented example; execution: Unknown.
Example boundary: Commands and release boundary are a documented learning example and require adaptation to the actual project; no build or release execution is claimed.
Make a blocking or advisory check transparent: what it checks, which evidence it returns, and when it stops delivery.
Scope
Signal, threshold, and status.
Blocking or advisory policy.
Owner, exception, and recovery path.
Non-goals
A gate added only for a metric.
Automatic merge without human policy.
Combining unrelated checks.
Success
A failure is understandable to another engineer.
Evidence is retained.
Rerun, rollback, or disable paths are known.
Session rules
Start advisory when the signal is new.
Do not hide flaky or environment failures.
A person makes the final decision.
Filled TASK_SPEC · documented example
# TASK_SPEC
Type: quality-release
Mode: General
Goal: Make a blocking or advisory check transparent: what it checks, which evidence it returns, and when it stops delivery.
Scope:
- Signal, threshold, and status.
- Blocking or advisory policy.
- Owner, exception, and recovery path.
Non-goals:
- A gate added only for a metric.
- Automatic merge without human policy.
- Combining unrelated checks.
Success:
- A failure is understandable to another engineer.
- Evidence is retained.
- Rerun, rollback, or disable paths are known.
Rules:
- Start advisory when the signal is new.
- Do not hide flaky or environment failures.
- A person makes the final decision.
workflow.mdA reader-facing workflow.md record that keeps stages, owners, inputs, and failure handling explicit for review.
# workflow.md
Gate: targeted verification for a changed API contract
Signal: test status and response assertion
Mode: advisory until a baseline is established
Block when: the contract assertion fails
Evidence: command, status, and relevant output
Owner: <team role>
Recovery: inspect, rerun with a reason, or disable with approval
Status: documented example.
Example boundary: Quality gate described as a learning contract; no real pipeline policy was created.
Match risk classification, permissions, data boundaries, protected paths, and human approval to the proposed action.
Scope
Task classification.
Allowed tools, paths, and data.
Owner, approval, audit trail, and stop condition.
Non-goals
Bypassing a permission prompt.
Sending secrets or personal data into context.
Autonomous production deployment.
Success
The capability envelope fits the risk.
Protected paths have enforcement.
The GO or HOLD decision has evidence and an owner.
Session rules
Use least privilege by default.
Sanitize sensitive data before sharing.
Keep irreversible actions with a person.
Filled TASK_SPEC · documented example
# TASK_SPEC
Type: risk-policy
Mode: General
Goal: Match risk classification, permissions, data boundaries, protected paths, and human approval to the proposed action.
Scope:
- Task classification.
- Allowed tools, paths, and data.
- Owner, approval, audit trail, and stop condition.
Non-goals:
- Bypassing a permission prompt.
- Sending secrets or personal data into context.
- Autonomous production deployment.
Success:
- The capability envelope fits the risk.
- Protected paths have enforcement.
- The GO or HOLD decision has evidence and an owner.
Rules:
- Use least privilege by default.
- Sanitize sensitive data before sharing.
- Keep irreversible actions with a person.
Constrain a final project to one core flow and connect problem, user, value proposition, specification, release slice, milestones, demo, defense, evidence, AI-native career proof, and a bounded job-search workflow.
Scope
Problem, primary user, job to be done, and value proposition.
One core flow, success metric, and release slice.
Specification, repository baseline, reviewer checklist, and evaluation evidence.
Controlled AI-assisted implementation with bounded diffs and human checkpoints.
Submission package, reproducibility audit, defense narrative, and rubric.
Mentor findings, remediation backlog, and portfolio packaging after review.
AI-native positioning, proof-of-work bank, career narrative, resume/GitHub/LinkedIn consistency, and portfolio defense.
Target role strategy, vacancy fit/gap analysis, truthful application tailoring, application tracker/career workspace, and an assessment feedback loop.
Non-goals
Demonstrating the entire product.
Inventing metrics, research, or screenshots.
Production deployment, scale claims, or scope expansion during a demo.
Claiming an executed sprint, demo, defense, mentor review, remediation, portfolio publication, employment, or hiring outcome without evidence.
Real applications, interviews, assessments, recruiter feedback, mass outreach, impersonation, or hiring claims without evidence.
Treating a capstone template as proof of completed work.
Success
Value, user job, and evaluation criteria are defined before coding.
The release slice has scope, non-goals, a metric, and an evidence plan.
Small diffs, sprint checkpoints, and stop conditions are recorded.
The demo has blocking and advisory gates plus a fallback.
The submission has a bounded entry point, inputs, expected signal, and known limits.
Reproducibility, defense narrative, and rubric separate facts, assumptions, and Unknowns.
Mentor findings become a traceable remediation backlog rather than an unverified claim.
Career materials separate personal contribution, AI assistance, verified evidence, and Unknowns.
Job-search records have traceable sources, privacy-safe fields, explicit Unknowns, and bounded next actions; no record attributes a hiring outcome.
Session rules
Start with one user and one verified slice.
Record assumptions, Unknowns, and limitations.
Limit every AI-assisted iteration to allowed paths and diff review.
Choose HOLD on scope drift, a missing oracle, or an unexplained change.
Never present a documented example as production readiness, deployment, validation, or approval.
Do not call an audit, rubric application, mentor review, or remediation complete without evidence.
Do not turn AI-assisted output into a personal-work claim without traceable contribution and verification.
Tailoring may use only verified evidence; require human review before external use, and mark unsupported application, interview, or feedback claims Unknown.
Filled TASK_SPEC · documented example
# TASK_SPEC
Type: capstone
Mode: General
Goal: Constrain a final project to one core flow and connect problem, user, value proposition, specification, release slice, milestones, demo, defense, evidence, AI-native career proof, and a bounded job-search workflow.
Scope:
- Problem, primary user, job to be done, and value proposition.
- One core flow, success metric, and release slice.
- Specification, repository baseline, reviewer checklist, and evaluation evidence.
- Controlled AI-assisted implementation with bounded diffs and human checkpoints.
- Implementation sprint slices, verification, demo quality gates, readiness, and defense handoff.
- Submission package, reproducibility audit, defense narrative, and rubric.
- Mentor findings, remediation backlog, and portfolio packaging after review.
- AI-native positioning, proof-of-work bank, career narrative, resume/GitHub/LinkedIn consistency, and portfolio defense.
- Target role strategy, vacancy fit/gap analysis, truthful application tailoring, application tracker/career workspace, and an assessment feedback loop.
Non-goals:
- Demonstrating the entire product.
- Inventing metrics, research, or screenshots.
- Production deployment, scale claims, or scope expansion during a demo.
- Claiming an executed sprint, demo, defense, mentor review, remediation, portfolio publication, employment, or hiring outcome without evidence.
- Real applications, interviews, assessments, recruiter feedback, mass outreach, impersonation, or hiring claims without evidence.
- Treating a capstone template as proof of completed work.
Success:
- Value, user job, and evaluation criteria are defined before coding.
- The release slice has scope, non-goals, a metric, and an evidence plan.
- Small diffs, sprint checkpoints, and stop conditions are recorded.
- The demo has blocking and advisory gates plus a fallback.
- The submission has a bounded entry point, inputs, expected signal, and known limits.
- Reproducibility, defense narrative, and rubric separate facts, assumptions, and Unknowns.
- Mentor findings become a traceable remediation backlog rather than an unverified claim.
- Career materials separate personal contribution, AI assistance, verified evidence, and Unknowns.
- Job-search records have traceable sources, privacy-safe fields, explicit Unknowns, and bounded next actions; no record attributes a hiring outcome.
Rules:
- Start with one user and one verified slice.
- Record assumptions, Unknowns, and limitations.
- Limit every AI-assisted iteration to allowed paths and diff review.
- Choose HOLD on scope drift, a missing oracle, or an unexplained change.
- Never present a documented example as production readiness, deployment, validation, or approval.
- Do not call an audit, rubric application, mentor review, or remediation complete without evidence.
- Do not turn AI-assisted output into a personal-work claim without traceable contribution and verification.
- Tailoring may use only verified evidence; require human review before external use, and mark unsupported application, interview, or feedback claims Unknown.
CAPSTONE_BRIEF.mdA reader-facing CAPSTONE_BRIEF.md record that keeps shared expectations and guardrails for a capstone explicit for review.
# CAPSTONE_BRIEF.md
Problem: make one repository workflow easier to verify.
Audience: developer reviewing a bounded change.
Core flow: intake -> plan -> implementation -> evidence.
In scope: one representative scenario and its checks.
Out of scope: full product, deployment, and scale claims.
Demo evidence: commands and outputs — Unknown.
Status: documented example.
VALUE_PROPOSITION.mdA reader-facing VALUE_PROPOSITION.md record that keeps user problem, promised outcome, and proof signal explicit for review.
# VALUE_PROPOSITION.md
User: reviewer of a bounded repository change
Problem: evidence is scattered across notes and command output
Alternative: manual search through the diff and task thread
Promise: produce one reviewable evidence outline before implementation
Proof signal: reviewer locates scope, checks, and Unknowns in one pass
Status: documented example; user validation is Unknown.
USER_JTBD.mdA reader-facing USER_JTBD.md record that keeps user context, desired progress, pains, gains, and constraints explicit for review.
# USER_JTBD.md
User: reviewer of one repository workflow
Trigger: a small change has unclear evidence boundaries
Job: understand scope, checks, and Unknowns before choosing the next step
Desired outcome: complete one review pass without repeating discovery
Constraints: no production claims or secret values
Status: documented example; observed user behavior is Unknown.
SUCCESS_METRIC.mdA reader-facing SUCCESS_METRIC.md record that keeps a measurable outcome with baseline, target, and limits explicit for review.
# SUCCESS_METRIC.md
Name: evidence-location completion rate
Definition: share of review passes where scope, checks, and Unknowns are found in one pass
Baseline: Unknown
Target: define before implementation; measured outcome: Unknown
Window: bounded capstone review session
Guardrail: do not trade evidence quality for speed
Status: documented example; no measured outcome is claimed.
RELEASE_SLICE.mdA reader-facing RELEASE_SLICE.md record that keeps the smallest coherent flow ready for review explicit for review.
# RELEASE_SLICE.md
Core flow: intake -> AI-assisted outline -> human review -> evidence note
In scope: one flow, one metric, and one reviewer checklist
Non-goals: autonomous merge, deployment, and broad roadmap
Dependencies: repository baseline and agreed evidence format
Release criteria: reviewer reproduces the outline and locates Unknowns
Status: documented example; no release or deployment is claimed.
CONTROLLED_VIBE_CODING.mdA reader-facing CONTROLLED_VIBE_CODING.md record that keeps intent, allowed paths, checkpoints, and stop rules explicit for review.
# CONTROLLED_VIBE_CODING.md
Goal: implement one bounded capstone change
Allowed paths: <explicit files>
Expected diff: one behavior; no unrelated cleanup
Check: targeted verification and human diff review
Stop when: scope drifts or the oracle is missing
Status: documented example; execution result: Unknown.
IMPLEMENTATION_SPRINT_PLAN.mdA reader-facing IMPLEMENTATION_SPRINT_PLAN.md record that keeps one sprint outcome split into owned slices explicit for review.
# IMPLEMENTATION_SPRINT_PLAN.md
Outcome: one reviewable capstone increment
Slices: contract -> implementation -> verification -> review
Checkpoint: inspect diff and status after each slice
Exit: DONE, CONTINUE WITH APPROVAL, or HOLD
Status: documented example; sprint execution: Unknown.
DEMO.mdA reader-facing DEMO.md record that keeps a bounded scenario and its expected observable signals explicit for review.
# DEMO.md
Audience: reviewer or capstone evaluator
Core flow: <bounded scenario>
Entry point: <safe command or manual start>
Steps: <observable actions and expected signals>
Known limits: <unsupported cases and Unknowns>
Status: documented example; demo outcome: Unknown.
DEMO_QUALITY_GATE.mdA reader-facing DEMO_QUALITY_GATE.md record that keeps evidence threshold for a demonstration claim explicit for review.
# DEMO_QUALITY_GATE.md
Blocking: startup, core output, and acceptance evidence
Advisory: polish and deferred edge cases
Evidence: <commands or anchors>
Decision: GO / HOLD / REDO
Status: documented example; gate result: Unknown.
DEMO_READINESS.mdA reader-facing DEMO_READINESS.md record that keeps repeatable startup, fixtures, and known limitations explicit for review.
# DEMO_READINESS.md
Start: <safe command or manual entry point>
Inputs: <fixtures without secrets>
Expected signal: <observable output>
Fallback: <static or manual path>
Deployment boundary: no publish or deploy claim
Status: documented example; readiness result: Unknown.
EVIDENCE_LOG.mdA reader-facing EVIDENCE_LOG.md record that keeps claims, sources, observations, and ownership over time explicit for review.
# EVIDENCE_LOG.md
Claim: <what is being checked>
Source: <file, command, or observation>
Result: <observed result or Unknown>
Decision: <continue / revise / HOLD>
Status: documented example; no deployment or production claim.
CAPSTONE_DEFENSE_HANDOFF.mdA reader-facing CAPSTONE_DEFENSE_HANDOFF.md record that keeps the capstone story, evidence map, and decision request explicit for review.
# CAPSTONE_DEFENSE_HANDOFF.md
Problem: <bounded problem>
Demo path: <observable steps>
Evidence: <links or anchors>
Known limits: <Unknowns and unsupported cases>
Decision requested: GO / HOLD / feedback
Status: documented example; defense outcome: Unknown.
HANDOFF_PACKAGE.mdA reader-facing HANDOFF_PACKAGE.md record that keeps a linked set of records ready for another reviewer explicit for review.
# HANDOFF_PACKAGE.md
Summary: <bounded problem, user, and scope>
Demo: <DEMO.md anchor>
Evidence log: <EVIDENCE_LOG.md anchor>
Readiness: <DEMO_READINESS.md anchor>
Decision: GO / HOLD / feedback
Status: documented example; handoff outcome: Unknown.
SUBMISSION_PACKAGE.mdA reader-facing SUBMISSION_PACKAGE.md record that keeps the problem, core flow, start instructions, and status explicit for review.
# SUBMISSION_PACKAGE.md
Problem: <bounded problem>
Core flow: <one observable scenario>
Start: <safe command or manual entry point>
Expected signal: <observable output>
Evidence: <diff, checks, and notes>
Known limits: <unsupported cases and Unknowns>
Status: documented example; submission and reproducibility result: Unknown.
REPRO_AUDIT.mdA reader-facing REPRO_AUDIT.md record that keeps whether a result can be reproduced from a stated baseline explicit for review.
DEFENSE_NARRATIVE.mdA reader-facing DEFENSE_NARRATIVE.md record that keeps an audience-facing claim supported by a bounded path explicit for review.
# DEFENSE_NARRATIVE.md
Audience: <reviewer or evaluator>
Problem: <bounded problem and user>
Claim: <what this capstone slice demonstrates>
Path: <actions and expected signals>
Evidence anchors: <files, commands, or notes>
Known limits: <Unknowns and unsupported cases>
Decision requested: <GO / HOLD / feedback>
Status: documented example; defense outcome: Unknown.
CAPSTONE_RUBRIC.mdA reader-facing CAPSTONE_RUBRIC.md record that keeps evaluation dimensions, evidence anchors, and decision boundaries explicit for review.
# CAPSTONE_RUBRIC.md
Dimension: <problem / flow / scope / verification / evidence / communication>
Expected signal: <observable criterion>
Evidence required: <file, command, or demo anchor>
Status scale: <not shown / partial / shown / needs verification>
Weight: <agreed value or Unknown>
Decision boundary: <GO / HOLD / remediation>
Status: documented example; rubric application and score: Unknown.
REMEDIATION_BACKLOG.mdA reader-facing REMEDIATION_BACKLOG.md record that keeps gaps converted into owned, verifiable follow-up work explicit for review.
# REMEDIATION_BACKLOG.md
Source review: <mentor or reviewer note, or Unknown>
Priority: <Must fix / Should fix / Later>
Finding: <observed gap>
Evidence: <anchor or Unknown>
Owner: <role or Unknown>
Acceptance signal: <observable check>
Status: Needs verification
Boundary: this backlog does not prove mentor approval or completed remediation.
PORTFOLIO_PACKAGE.mdA reader-facing PORTFOLIO_PACKAGE.md record that keeps a concise contribution story backed by selected evidence explicit for review.
# PORTFOLIO_PACKAGE.md
Title: <capstone name>
Problem and audience: <bounded context>
Role or contribution: <verified contribution or Unknown>
Core flow: <short observable scenario>
Selected evidence: <submission, demo, checks, and review anchors>
Evaluation: <rubric summary or Unknown>
Review outcome: <observed decision or Unknown>
Limitations: <unsupported claims and open questions>
Next step: <remediation item or bounded follow-up>
Status: documented example; portfolio publication and external validation: Unknown.
AI_NATIVE_POSITIONING.mdA reader-facing positioning record that separates personal responsibility from tool output and unverified career claims.
# AI_NATIVE_POSITIONING.md
Problem: <bounded problem or workflow>
Ownership: <decisions and responsibilities>
AI assistance: <where tools helped>
Evidence: <verified source or Unknown>
Boundary: <claims not supported by this record>
Status: documented example; hiring outcome: Unknown.
PROOF_OF_WORK_BANK.mdA reader-facing index of evidence entries that preserves traceability from task to checkable signal.
# PROOF_OF_WORK_BANK.md
Claim: <one concrete statement>
Source: <file, diff, command or review note>
Signal: <observed result or Unknown>
Contribution: <what I owned>
Boundary: <what this does not prove>
Status: documented example; external validation: Unknown.
CAREER_NARRATIVE.mdA reviewer-facing narrative for honest Junior, Middle, or Senior scope claims.
# CAREER_NARRATIVE.md
Level frame: <Junior / Middle / Senior>
Context: <problem and audience>
Ownership: <decisions and contribution>
Trade-offs: <choice and deferred alternative>
Evidence: <anchors or Unknown>
Next step: <bounded follow-up>
Status: documented example; seniority validation: Unknown.
AI_NATIVE_RESUME.mdA reader-facing profile package for honest AI-native positioning across resume, GitHub, and LinkedIn.
# AI_NATIVE_RESUME.md
Headline: <bounded capability>
Evidence-backed outcome: <observable signal or Unknown>
Contribution: <what I owned>
Repository link: <verified link or Unknown>
Profile summary: <consistent narrative>
AI disclosure: <transparent assistance boundary>
Status: documented example; review and hiring outcome: Unknown.
PORTFOLIO_DEFENSE.mdA reviewer-facing defense outline for the question “you or AI?” without denying tools or inventing contribution.
# PORTFOLIO_DEFENSE.md
Problem: <bounded problem and audience>
My decisions: <framing, trade-offs, and checks>
AI assistance: <generated or assisted parts>
Evidence path: <anchors and expected signals>
Unknowns: <open questions>
Decision requested: <feedback / next check>
Status: documented example; interview and hiring outcome: Unknown.
TARGET_ROLE_STRATEGY.mdA job-search planning record that separates a role hypothesis from an application or hiring outcome.
# TARGET_ROLE_STRATEGY.md
Role families: <target roles and responsibility>
Constraints: <location, format, level, time>
Evidence: <verified proof-of-work or Unknown>
Search hypotheses: <source and priority signal>
Next action: <one bounded manual check>
Boundary: applications, recruiter responses, interviews, and hiring outcome are Unknown.
Status: documented example.
JOB_FIT_GAP_MAP.mdA traceable fit and gap analysis without a verdict about an employer decision.
# JOB_FIT_GAP_MAP.md
Role/source: <vacancy and URL or Unknown>
Requirement status: Fit / Partial / Gap / Unknown
Evidence: <source or Unknown>
Confidence: <high/medium/low>
Next check: <bounded action>
Boundary: this is not an external assessment and does not prove hiring fit.
Status: documented example.
APPLICATION_TAILORING.mdA traceable tailoring record that separates the source claim, new emphasis, and Unknown.
# APPLICATION_TAILORING.md
Target role: <role or Unknown>
Source claim: <verified experience or Unknown>
Role relevance: <why it matters>
Tailored wording: <bounded claim>
Not claimed: <missing metric, employer, outcome or review>
Human check: <required before external submission>
Status: documented example; application and hiring outcome: Unknown.
APPLICATION_TRACKER.mdA minimal tracker for memory and handoff that does not replace evidence of an application outcome.
# APPLICATION_TRACKER.md
Role: <target role>
Source: <URL or Unknown>
Status: Research / Draft / Ready for review / Unknown
Next action: <one bounded action>
Evidence: <anchor or Unknown>
Privacy: no credentials, secrets, or unnecessary personal data.
Boundary: tracker status does not prove submission, interview, response, or employment.
Status: documented example.
ASSESSMENT_FEEDBACK_LOOP.mdA feedback loop for learning and next iteration without inventing a hiring verdict.
# ASSESSMENT_FEEDBACK_LOOP.md
Assessment/source: <prompt, review note or Unknown>
Timebox and allowed tools: <bounded constraints>
Expected signal: <observable criterion>
Observed result: <result or Unknown>
Feedback status: received / requested / Unknown
Gap: <verified finding or personal hypothesis>
Next action: <one remediation step>
Boundary: assessment, interview, pass/fail, and hiring outcome are Unknown unless separately evidenced.
Status: documented example.
Example boundary: Capstone records for levels 30–34 are documented learning examples, not claims of an executed sprint, demo, defense, mentor review, remediation, portfolio publication, application, interview, assessment, feedback, employment, validation, deployment, or production outcome.
Describe current architecture, technical-debt signals, critical flows, and change risk before editing anything.
Scope
Observed behavior of one legacy flow.
Modules, dependencies, and static signals.
Business criticality, change risk, and unknowns.
Non-goals
An immediate refactor.
An invented target architecture.
A conclusion from one smell without evidence.
Success
Current state is separate from desired state.
The risk map includes evidence and confidence.
The next action is bounded.
Session rules
Begin with read-only discovery.
Keep business criticality distinct from change risk.
Expose Unknown blockers explicitly.
Filled TASK_SPEC · documented example
# TASK_SPEC
Type: codebase-discovery
Mode: General
Goal: Describe current architecture, technical-debt signals, critical flows, and change risk before editing anything.
Scope:
- Observed behavior of one legacy flow.
- Modules, dependencies, and static signals.
- Business criticality, change risk, and unknowns.
Non-goals:
- An immediate refactor.
- An invented target architecture.
- A conclusion from one smell without evidence.
Success:
- Current state is separate from desired state.
- The risk map includes evidence and confidence.
- The next action is bounded.
Rules:
- Begin with read-only discovery.
- Keep business criticality distinct from change risk.
- Expose Unknown blockers explicitly.
RISK_MAP.mdA reader-facing RISK_MAP.md record that keeps criticality, change risk, evidence gaps, and action explicit for review.
# RISK_MAP.md
Area: BillingService.calculateInvoice
Business criticality: high — confirm with owner
Change risk: high — shared callers are Unknown
Evidence: <paths, tests, runtime observations>
Safe next step: characterize one bounded flow
Do not do: broad rewrite or dependency upgrade
Status: documented example.
Example boundary: Legacy map filled as an example; no production codebase was investigated by this record.
Reduce technical risk in one legacy module without changing its external contract or business meaning.
Scope
One bounded module or business flow.
One structural change through a confirmed seam.
Characterization, focused checks, and rollback.
Non-goals
A big-bang rewrite.
Public API, business-rule, or data-format changes.
Framework or dependency upgrades and new features.
Success
One reviewable slice has a limited diff.
Inputs, outputs, errors, side effects, and invariants remain compatible.
Checks are executed or marked Unknown.
Session rules
Start with MODERNIZATION_BASELINE.md and RISK_MAP.md.
Give every step non-goals and a stop condition.
Stop on an unconfirmed contract change.
Filled TASK_SPEC · documented example
# TASK_SPEC
Type: modernization
Mode: Modernization
Goal: Reduce technical risk in one legacy module without changing its external contract or business meaning.
Scope:
- One bounded module or business flow.
- One structural change through a confirmed seam.
- Characterization, focused checks, and rollback.
Non-goals:
- A big-bang rewrite.
- Public API, business-rule, or data-format changes.
- Framework or dependency upgrades and new features.
Success:
- One reviewable slice has a limited diff.
- Inputs, outputs, errors, side effects, and invariants remain compatible.
- Checks are executed or marked Unknown.
Rules:
- Start with `MODERNIZATION_BASELINE.md` and `RISK_MAP.md`.
- Give every step non-goals and a stop condition.
- Stop on an unconfirmed contract change.
MODERNIZATION_BASELINE.mdA reader-facing MODERNIZATION_BASELINE.md record that keeps a behavior baseline for a safe modernization slice explicit for review.
# MODERNIZATION_BASELINE.md
Module: BillingService.calculateInvoice
Revision: <baseline commit — fill with evidence>
Inputs: customer, period, line items
Outputs: total and validation errors
Invariants: rounding and error codes remain unchanged
Checks: <focused command — Unknown until executed>
Unknowns: callers relying on internal ordering
Status: documented example.
Example boundary: Modernization learning example; no real legacy module was changed.
Prepare a bounded transition to a defined target state and proceed only when branch, rollback, and validation gates are available.
Scope
Source and target runtime, framework, and dependency constraints.
One pilot slice in a branch or worktree.
Rollback for code, configuration, data or state, and traffic.
Behavior-parity cases and validation evidence.
Maps for code, dependency, schema, data, configuration, infrastructure, and operations.
Official documentation and repository files.
Non-goals
Refactoring BillingService.
Uncontrolled database or schema change.
New features, full rollout, or production deployment.
Storing secret values in specifications, logs, or evidence.
Version changes or execution before discovery, approval, and recovery planning.
Success
Known, Assumption, and Unknown are separated.
Pilot slice, branch or worktree, owner, and entry or exit gates are defined.
Rollback is a verifiable prerequisite and stateful limitations are explicit.
Behavior-parity dimensions, evidence anchors, and discrepancy decisions are defined.
Migration types, data or configuration sequencing, validation, and recovery paths are described; pre-execution outcome remains Unknown.
Session rules
Use official documentation and repository files as the source of truth.
Give every conclusion a documentation section or file path.
Do not propose edits, builds, version changes, or rollout without request and approval.
Start with discovery, changelog research, dependency graph, compatibility matrix, and migration-type map.
Do not start the pilot without a rollback trigger, owner, checkpoint, and post-rollback check.
Choose HOLD for an unexplained discrepancy, irreversible state, or missing oracle.
Filled TASK_SPEC · documented example
# TASK_SPEC
Type: migration
Mode: Migration
Goal: Prepare a bounded transition to a defined target state and proceed only when branch, rollback, and validation gates are available.
Scope:
- Source and target runtime, framework, and dependency constraints.
- One pilot slice in a branch or worktree.
- Rollback for code, configuration, data or state, and traffic.
- Behavior-parity cases and validation evidence.
- Maps for code, dependency, schema, data, configuration, infrastructure, and operations.
- Official documentation and repository files.
Non-goals:
- Refactoring BillingService.
- Uncontrolled database or schema change.
- New features, full rollout, or production deployment.
- Storing secret values in specifications, logs, or evidence.
- Version changes or execution before discovery, approval, and recovery planning.
Success:
- Known, Assumption, and Unknown are separated.
- Pilot slice, branch or worktree, owner, and entry or exit gates are defined.
- Rollback is a verifiable prerequisite and stateful limitations are explicit.
- Behavior-parity dimensions, evidence anchors, and discrepancy decisions are defined.
- Migration types, data or configuration sequencing, validation, and recovery paths are described; pre-execution outcome remains Unknown.
Rules:
- Use official documentation and repository files as the source of truth.
- Give every conclusion a documentation section or file path.
- Do not propose edits, builds, version changes, or rollout without request and approval.
- Start with discovery, changelog research, dependency graph, compatibility matrix, and migration-type map.
- Do not start the pilot without a rollback trigger, owner, checkpoint, and post-rollback check.
- Choose HOLD for an unexplained discrepancy, irreversible state, or missing oracle.
MIGRATION_PLAN.mdA reader-facing MIGRATION_PLAN.md record that keeps phased migration work with evidence gates and rollback explicit for review.
# MIGRATION_PLAN.md
Mode: migration
Source: current runtime and dependency state — repository evidence required
Target: target runtime/framework state — compatibility Unknown
Pilot: one read-only endpoint in an isolated branch or worktree
Entry gates: baseline, migration type map, compatibility matrix, rollback owner, and checkpoint
Validation: representative source/target cases, configuration, startup, and integrity checks
Decision: HOLD until gates and recovery procedure are verified
Status: documented example.
MIGRATION_TYPES.mdA reader-facing MIGRATION_TYPES.md record that keeps migration classification, ordering, and ownership explicit for review.
# MIGRATION_TYPES.md
| Work item | Type | Coupled with | Evidence gate | Owner | Status |
| --- | --- | --- | --- | --- | --- |
| framework change | code/dependency | config, behavior | changelog and focused checks | role | Unknown |
| record transition | schema/data | target code, recovery | integrity and parity cases | role | HOLD |
| environment key mapping | configuration | startup, secret references | config validation | role | Unknown |
Decision: classify and order before execution.
Status: documented example.
DATA_CONFIG_MIGRATION.mdA reader-facing DATA_CONFIG_MIGRATION.md record that keeps representation changes, sequencing, integrity, and recovery explicit for review.
# DATA_CONFIG_MIGRATION.md
Data: source representation -> target representation; inventory and compatibility window required
Configuration: versioned keys and defaults per environment; secret values excluded
Sequence: expand compatible readers -> bounded migration -> validate -> switch -> contract
Validation: counts, invariants, representative reads/writes, and startup — Unknown until executed
Recovery: approved backout or forward-fix with owner; HOLD if state rollback is not verified
Status: documented example.
ROLLBACK.mdA reader-facing ROLLBACK.md record that keeps recoverable triggers, ordered actions, and post-recovery checks explicit for review.
# ROLLBACK.md
Scope: one bounded pilot slice in an isolated branch or worktree
Trigger: behavior discrepancy, integrity failure, or unavailable recovery evidence
Checkpoint: source revision plus versioned configuration or state checkpoint
Actions: stop affected traffic -> restore code -> restore configuration -> back out state or choose forward-fix
Verification: representative behavior and invariants — Unknown until executed
Decision: HOLD until recovery steps are verified
Status: documented example.
MIGRATION_VALIDATION_REPORT.mdA reader-facing MIGRATION_VALIDATION_REPORT.md record that keeps expected versus observed migration behavior explicit for review.
# MIGRATION_VALIDATION_REPORT.md
Baseline: source and target revisions must be recorded before comparison
Cases: representative inputs, outputs, errors, side effects, integrity, configuration, and startup
Evidence: matching test, fixture, command, or log anchor for each dimension
Observed: Unknown; no source-to-target validation was executed
Decision: HOLD while evidence or an oracle is missing
Status: documented example.
POST_MIGRATION_NOTES.mdA reader-facing POST_MIGRATION_NOTES.md record that keeps the decision record after a migration checkpoint explicit for review.
# POST_MIGRATION_NOTES.md
Scope: bounded pilot and observation window — Unknown until defined
Decision: GO, HOLD, NARROW, or ROLLBACK based on evidence
Observations: expected versus observed behavior, data or configuration, and operational signals
Residual risk: record every Unknown with an owner and next bounded action
Handoff: summarize evidence anchors and lessons without secret values
Status: documented example; no post-migration outcome is claimed.
Example boundary: Migration task and artifacts are documented learning examples. This record does not prove a Boot or Java upgrade, pilot, rollback, parity, compatibility, data or configuration migration, or production rollout.