Skip to main content

Issue Lifecycle

@magistr/issue-lifecyclev2026.08.31.1· 9d agoMODELSSKILLS
01README

Issue lifecycle model with 9 bundled Claude Code skills for DDD, TDD, moldable development, and parallel code review.

Drives issues from filing through triage, prior-art lookup, DDD + TDD planning, parallel review fan-out (5 review skills), autonomous code-review iteration (zero CRITICAL + zero HIGH gate), optional UAT/KB harvest, and completion. State persists across sessions via the state resource; the hydrate method writes a cheap summary resource for long autonomous loops.

State Machine

filed ──[triage]──> triaged
triaged ──[plan]──> planned
planned ──[review_plan]──> reviewing
reviewing ──[approve_plan]──> approved
reviewing ──[reject_plan]──> planned  (feedback loop)
approved ──[implement]──> writing_tests
writing_tests ──[review_tests]──> reviewing_tests
reviewing_tests ──[iterate_tests]──> writing_tests  (autonomous TDD sub-loop)
reviewing_tests ──[tests_approved]──> implementing  (autonomous gate)
implementing ──[verify]──> verifying
verifying ──[iterate_verification]──> implementing  (autonomous loop)
verifying ──[review_code]──> code_reviewing  (the ONLY path onward)
code_reviewing ──[resolve_findings]──> resolved
code_reviewing ──[iterate]──> implementing  (autonomous loop)
resolved ──[iterate]──> implementing
resolved ──[attest]──> attested  (optional)
resolved ──[harvest]──> harvested  (optional)
resolved ──[complete]──> complete
attested ──[harvest]──> harvested
attested ──[complete]──> complete
harvested ──[complete]──> complete

approve_plan requires full matrix coverage AND zero open CRITICAL AND zero open HIGH findings AND no reviewer FAIL verdict. tests_approved enforces the same gate autonomously (override bypasses both dimensions). close works from any state. start refuses to overwrite an in-flight issue (any state other than complete/closed) unless force:true is passed.

Pre-PR verification and attestation

verify runs the repository's declared mechanical controls (fmt, lint, typecheck, tests) in one fan-out pass and records per-control status, exit code, duration and runner. review_code is guarded on verifying, so no path reaches code review without running the controls. A control that could not be executed is recorded as error — never as a skip — and blocks exactly as a failure does.

attest emits a manifest (commit sha, SHA-256 config checksums, control results, per-reviewer finding counts) that CI validates in place of re-executing the controls. It asserts every gate before writing and refuses otherwise; it does not approve anything.

Methods

  • start — file a new issue (refuses to overwrite an in-flight issue unless force:true)
  • triage — classify with optional confidence/regression/reproduction
  • record_prior_art — record existing UAT scenarios and KB entries
  • record_reproduction — record/update the bug-reproduction outcome after triage (optional; callable from triaged or planned)
  • plan — create/revise plan with DDD analysis, TDD strategy, review matrix
  • review_plan — enter plan review phase
  • record_review — record one reviewer's findings (a second submission in the same round replaces, not appends)
  • approve_plan — approve (gated on coverage + zero blocking findings + no FAIL verdict)
  • reject_plan — reject with auto/human source tracking
  • implement — start TDD on a branch (enters writing_tests)
  • review_tests — enter test review phase
  • iterate_tests — loop back on test-review findings (bumps testReviewIteration)
  • tests_approved — tests clean → write code (autonomous gate; supports override_reason for explicit human force-approve after 5-iteration cap, bypassing both the blocking-findings and FAIL-verdict gates)
  • verify — run every declared mechanical control in one pass (enters verifying); controls come from agent-constraints/verification-controls.md, never hardcoded
  • iterate_verification — loop back on a failing control (bumps verificationIteration)
  • review_code — enter code review phase (requires verifying)
  • resolve_findings — record resolutions keyed per matching reviewer, snapshot round
  • iterate — return to implementation (bumps codeReviewIteration)
  • attest — emit the attestation manifest CI validates (enters attested)
  • harvest — record UAT/KB improvement proposals
  • complete — mark done
  • close — abandon from any state
  • hydrate — write compact summary for autonomous loops

Bundled Skills

  • issue-lifecycle — orchestrates the full lifecycle
  • ddd — domain-driven design building block selection
  • tdd — red-green-refactor workflow enforcement
  • moldable-dev — contextual inspectors and live-data queries
  • review-code — general code review
  • review-adversarial — adversarial review (7 dimensions)
  • review-security — OWASP-adapted security audit
  • review-ux — CLI output and error message review
  • review-skill — skill quality review
02Release Notes

2026.08.31.1 — pre-PR verification + attestation

Model behavior change — model type version bumped to 2026.08.31.1. Adds the mechanical half of the verification loop and the evidence artifact CI validates in place of re-running it. Ships as an identity upgrades[] migration: existing records gain verificationIteration: 1 from the schema default, and verification / attestation stay unset until the new methods run.

Added

  • verifying state between implementing and code_reviewing. review_code is now guarded on verifying, so no path reaches code review without running the repository's declared controls. Every iterate from the code-review loop lands in implementing and must pass through it again.
  • attested state between resolved and harvested/complete.
  • verify — runs every declared control (fmt, lint, typecheck, tests) in one fan-out pass, recording per-control status, exit code, duration, runner and a bounded stderr tail. Control specs are supplied by the caller from agent-constraints/verification-controls.md; the model hardcodes no build command. A control that cannot be spawned is error, and a managed-tier control on a local runner is skipped — both block exactly as fail does, because "the tool could not evaluate this" is not evidence of a clean tree.
  • iterate_verification — returns to implementing on a failing control, snapshotting a verification round to reviewHistory and bumping verificationIteration. Mirrors iterate / iterate_tests.
  • attest — emits the attestation manifest: commit sha, SHA-256 checksums of every declared config input, control results, and per-reviewer open-finding counts by severity. Written both onto state and to a dedicated attestation resource keyed by commit sha. It re-asserts every gate before writing (verification round exists, every required control passed, no FAIL verdict, zero open CRITICAL/HIGH, every config path readable) and refuses otherwise — it asserts, it does not approve.
  • attestation resource and the AttestationSchema / ControlSpecSchema / ControlResultSchema / VerificationSchema public types.
  • hydrate now reports verificationIteration and controls: {ran, total, blocking[]} so the autonomous loop can see control state without parsing the full blob.
  • agent-constraints/verification-controls.md — the control declaration this repo runs, mirroring the deno-check CI job step for step.
  • Skill references verification.md (Phase 4c) and attestation.md (Phase 5b); SKILL.md, state-machine.md, implementation.md, code-review.md and autonomous-loop.md updated to match.

Changed

  • harvest accepts resolved and attested; complete accepts resolved, attested and harvested.
  • implementation.md Step 5 no longer tells you to track the PR externally — attest carries a first-class prUrl, and the PR is opened after attesting, not before.
  • The model is no longer pure logic. verify spawns subprocesses and attest reads files. Both effects are injected (CommandRunner, FileReader) so tests never spawn anything, and the adversarial suite covers the new surface: control cwd escaping the repo root, absolute cwd, spawn failure, denied allow-run, stderr truncation, and every attest refusal.
03Models1
@magistr/issue-lifecyclev2026.08.31.1extensions/models/issue_lifecycle.ts
fn start(title: string, description: string, labels: array, force: boolean)
File a new issue — creates initial state. Refuses to overwrite an
ArgumentTypeDescription
titlestring
descriptionstring
labelsarray
forcebooleanOverwrite an in-flight issue (any state other than
fn triage(priority: enum, affectedAreas: array, reasoning?: string, isRegression?: boolean, clarifyingQuestions: array)
Triage the issue — set priority, category, affected areas, and
ArgumentTypeDescription
priorityenum
affectedAreasarray
reasoning?string
isRegression?boolean
clarifyingQuestionsarray
fn record_prior_art(uatScenarios: array, kbEntries: array)
Record existing UAT scenarios and KB entries found during the
ArgumentTypeDescription
uatScenariosarray
kbEntriesarray
fn record_reproduction(status: enum, notes?: string)
Record or update the bug-reproduction outcome after triage —
ArgumentTypeDescription
statusenum
notes?string
fn plan(summary: string, steps: array, dddAnalysis: string, testStrategy: string, potentialChallenges: array)
Create or revise the implementation plan with DDD analysis and TDD
ArgumentTypeDescription
summarystring
stepsarray
dddAnalysisstringWhich aggregates, entities, value objects, and domain services are affected
testStrategystringWhat tests to write first, red-green-refactor sequence
potentialChallengesarray
fn review_plan()
Enter the plan review phase — the skill then fans out review skills
fn record_review(reviewer: string, verdict: enum, findings: array)
Record one reviewer's findings. Call once per active entry in reviewMatrix.
ArgumentTypeDescription
reviewerstringSkill name: review-code, review-adversarial, review-security, review-ux, review-skill
verdictenum
findingsarray
fn approve_plan()
Approve the plan. Requires (a) all reviewers in the matrix have
fn reject_plan(reason: string, source: enum)
Reject the plan — returns to 'planned' state so the next plan call
ArgumentTypeDescription
reasonstring
sourceenum
fn implement(branch: string, description: string)
Start implementation — record branch name and enter the TDD test-
ArgumentTypeDescription
branchstring
descriptionstring
fn review_tests()
Enter the test review phase — fans out reviewers (per reviewMatrix)
fn iterate_tests(reason: string, source: enum)
Return to writing_tests because test review surfaced findings.
ArgumentTypeDescription
reasonstring
sourceenum
fn tests_approved(override_reason?: string)
Tests pass review — transition reviewing_tests → implementing so
ArgumentTypeDescription
override_reason?stringWhen set, bypasses the blocking-findings gate as an explicit
fn verify(controls: array, repoDir: string, runner: string)
Run the repository's mechanical verification controls (fmt, lint,
ArgumentTypeDescription
controlsarrayControl specs from agent-constraints/verification-controls.md
repoDirstringAbsolute path to the repository root the controls run against
runnerstringIdentifier of the executing environment, e.g. 'local' or
fn iterate_verification(reason: string, source: enum)
Return to implementing because verification controls failed.
ArgumentTypeDescription
reasonstring
sourceenum
fn review_code()
Enter the code review phase — the skill then fans out reviewers
fn resolve_findings(resolutions: record)
Record resolution for review findings. Merges into cumulative
ArgumentTypeDescription
resolutionsrecordMap of finding description → resolution action
fn iterate(reason: string, source: enum)
Return to implementation — not all findings resolved. Snapshots
ArgumentTypeDescription
reasonstring
sourceenum
fn attest(commitSha: string, repoDir: string, configPaths: array, prUrl?: string, producedBy: string)
Emit the attestation manifest — the structured evidence CI
ArgumentTypeDescription
commitShastringThe commit the verification ran against (git rev-parse HEAD)
repoDirstringAbsolute path to the repository root, for checksum computation
configPathsarrayRepo-relative paths whose contents are checksummed into the
prUrl?stringPull request URL, when the PR already exists
producedBystringHostname or worker id that produced the manifest
fn harvest(uatProposals: array, kbProposals: array)
Record UAT and KB improvement proposals from this lifecycle.
ArgumentTypeDescription
uatProposalsarray
kbProposalsarray
fn complete(summary: string)
Mark the issue as complete. Accepts either 'resolved' (harvest
ArgumentTypeDescription
summarystring
fn close(reason: string)
Close/abandon the issue from any state
ArgumentTypeDescription
reasonstring
fn hydrate()
Return a compact summary for the autonomous loop's decision-making:

Resources

state(infinite)— Issue lifecycle state — persists across sessions
summary(infinite)— Compact decision-making summary written by the `hydrate` method.
attestation(infinite)— Attestation manifest written by the `attest` method — commit sha,
04Skills9
issue-lifecycle60 files
ddd6 files
tdd5 files
moldable-dev5 files
review-code4 files
review-adversarial4 files
review-security4 files
review-ux4 files
review-skill4 files
05Previous Versions15
2026.08.19.1

Modified 1 skills

2026.08.02.1

2026.08.02.1 — latent-bug fixes (IL-1/2/4/7) + five-suite quality

Model behavior change — model type version bumped to 2026.08.02.1 (first release since the 2026.07.16.2 five-suite quality backfill). Real fixes for four of the seven latent bugs triaged in the LOCAL issue-lifecycle model issue-lifecycle-latent-bugs; three are explicitly re-affirmed as intentional behavior, not fixed. No globalArguments or resource-schema change — the version bump ships as an identity upgrades[] migration.

Fixed

  • IL-1start used to overwrite whatever current held with no read-before-write — approved plans, review history, everything — with no guard or confirmation. It now reads existing state first: a fresh instance (no current yet) or one already in a terminal state (complete/closed) proceeds as before; anything else throws unless the new force: boolean argument (default false) is passed.
  • IL-2approve_plan/tests_approved gated only on hasBlockingFindings (open CRITICAL/HIGH count), so a reviewer could post verdict: "FAIL" with zero findings (or all findings resolved/non-blocking) and approval would still succeed. Both methods now also call the new failingReviewers() helper and block if any reviewer's verdict is FAIL, after the existing blocking-findings check (gate order preserved so "N CRITICAL and M HIGH" fires first when both conditions hold). tests_approved's override_reason now bypasses both gates together, as before. SUGGEST_CHANGES remains non-blocking by design — only FAIL hard blocks, so the autonomous zero-CRITICAL/zero-HIGH loop can still converge without a human override.
  • IL-4resolutions is a flat Record<string, string> keyed by finding description text; two different reviewers whose findings happened to share description text collapsed into one entry. resolve_findings now expands each supplied key against the current round's findings: every reviewer whose finding matches that description gets its own `${reviewer} :: ${description}` composite key. A key matching no finding is stored verbatim (legacy-safe; unaffected: empty-map callers).
  • IL-7record_review appended every submission unconditionally, so recording the same reviewer twice in one round double-counted their open findings in the blocking gate. It now replaces (last-write-wins) the reviewer's earlier entry in place instead of appending a duplicate.

Kept as designed (re-affirmed, not fixed)

  • IL-3 — no model-enforced iteration cap on iterate/iterate_tests. MAX_CODE_ITERATIONS/MAX_TEST_ITERATIONS stay skill-layer policy; enforcing a cap in the pure model would couple it to skill policy and could break the human override_reason escape hatch.
  • IL-5close has no guardState call and works from any state, including terminal ones. This is intentional: close is the abandon/escape hatch (manifest.yaml has always documented "works from any state") and an escape hatch must never itself be blockable.
  • IL-6hydrate's summary.snapshotAt is stamped fresh via now() on every call, so two calls produce two different values even though current is never mutated. snapshotAt is a wall-clock capture stamp — it should differ per call; the property suite already proves non-mutation of current by freezing the clock (@std/testing FakeTime), which is the invariant that actually matters here.

Five-suite quality (carried from the 2026.07.16.2 backfill, updated)

  • extensions/models/issue_lifecycle_methods_test.ts — success + exact guardState-throw-message regression for each of the 20 model methods, a sweep pinning "No issue state found — run 'start' first" on every method but start, and a sweep pinning the REAL (not assumed) unknown-key behavior of every method's zod arguments schema: swamp model type describe --json renders additionalProperties: false (its own JSON-Schema view), but none of the 20 methods call .strict(), so a bare .parse() silently strips an unrecognized key rather than throwing.
  • extensions/models/issue_lifecycle_adversarial_test.ts — illegal out-of-order transitions from varied source states, malformed reviewer input (bad severity/verdict enums rejected by zod), hostile approve_plan gate combinations (missing-matrix-reviewer, combined CRITICAL+HIGH counts), corrupted-stored-state pins for the "no plan found" branches in approve_plan/tests_approved, whitespace override_reason still gated, and pins asserting the FIXED IL-1/IL-2/IL-4/IL-7 behavior above plus the re-affirmed IL-3/IL-5 by-design behavior.
  • extensions/models/issue_lifecycle_coverage_test.ts — branch fill for allMatrixReviewersRecorded across the security/ux/skill matrix dimensions,
2026.07.16.2

Release 2026.07.16.2 — align model versions with manifests

Maintenance release across the @magistr extensions. For most packages this carries no functional change: the only edit is the model's version: field, brought back in line with its manifest version so the published model type version and the package version no longer drift.

Functional changes in this release are limited to:

  • anime-cron: normalizeTitle now strips a ": subtitle" suffix and a trailing parenthesized year before comparison, fixing dedup false-misses where the torrent title carries a subtitle or year that the AniList romaji does not.

  • arckit: first publish. Standalone ArcKit port — a 12-phase architecture governance state machine with 65 bundled templates, driven by a bundled skill.

Also tracks three extensions (kaiten, observability-agent, music-library) that previously existed only as untracked working-tree directories, recovered from stashes.

Added 1, removed 1 models. Added 9 skills

2026.06.12.3

Merge pull request #14 from umag/feat/issue-lifecycle-scenario-9-resume-eval

feat(issue-lifecycle): eval scenario-9 — resume-dispatch from the TDD sub-cycle (2026.06.12.3)

Modified 1 skills

2026.06.12.2

Merge pull request #13 from umag/feat/issue-lifecycle-record-reproduction

feat(issue-lifecycle): record_reproduction method (2026.06.12.2)

Modified 1 models

2026.06.12.1

Merge feat/issue-lifecycle-tdd-subcycle-docs: skills catch up with the TDD test-review sub-cycle (2026.06.12.1)

Modified 1 skills

2026.05.25.3

issue-lifecycle: release 2026.05.25.3

Re-trigger after the -y publish fix (631455c). Same content as the tagged- but-unpublished .25.1/.25.2 (the 2026.05.24.x skill changes); model type version stays 2026.04.30.1.

Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com

Modified 1 skills

2026.05.24.2

2026.05.24 release — plan presentation + implementation discipline (skill-only; model type version unchanged at 2026.04.30.1)

Plan presentation:

  • New skimmable BLUF plan format: Goal / Approach / Domain impact (4 lines) / Scope table with a DDD-role column / conditional Risks / numbered one-line Steps / Review coverage / Non-goals / Open questions.
  • Front-loaded "Plan output format (always)" pointer in SKILL.md so the format applies even when a plan is produced outside the full lifecycle flow.
  • Opt-in HTML-artifact escalation, Wardley maps (strategic build-vs-buy only), and DDD diagram conventions; diagrams off by default.
  • Planning Step 9 and the autonomous-loop approval gate render in this format.

Implementation discipline (implementation.md Step 2):

  • Anchor changes in existing code: map integration points first, reuse/extend, no parallel code paths.
  • Right-size backward compatibility: no compat shims/migrations/version flags for unreleased code; new adversarial-review check enforces it at plan time.
  • Explicit RED/GREEN/REFACTOR; refactor in-place, never deferred.

Validated with tessl evals (BLUF format 100/100; integrate + no-compat 100%).

Note: 2026.05.24.2 == 2026.05.24.1 content; this version adds the release notes/changelog that the .1 push omitted.

2026.05.24.1

Modified 1 skills

2026.04.30.5

2026.04.30.5 — TDD test sub-loop with human escalation + explicit plan display

This release wraps up the work introduced across 2026.04.30.3 / .4 (which went out without proper release notes) and adds the CI publish-flow fix that prevents future versions from shipping with empty changelog entries.

What's new since 2026.04.30.2

Phase 5 (Implementation) is now a TDD test-first state machine

implement no longer transitions straight to implementing. It enters writing_tests, and the lifecycle enforces the TDD discipline at the state-machine level: tests must be authored, reviewed, and cleared of blocking findings before any production code is written.

New states:

  • writing_tests — author failing TDD tests (RED).
  • reviewing_tests — tests under review.
  • implementing (existing) — tests are clean; now write code (GREEN) and refactor.

New ReviewPhase value: test_review (alongside plan_review and code_review). Each test-review round is snapshotted into reviewHistory just like plan/code rounds.

New methods

  • review_tests — fan out reviewers from reviewMatrix against the tests (writing_tests → reviewing_tests). Resets the round and stamps reviewRoundStartedAt.
  • iterate_tests — return to writing_tests because findings remain; bumps testReviewIteration, snapshots round with outcome: "rejected_auto" or "rejected_human" per source.
  • tests_approved — gated transition reviewing_tests → implementing. Default autonomous gate (full matrix coverage AND zero open CRITICAL AND zero open HIGH). Accepts an optional override_reason that bypasses the blocking-findings gate as an explicit human override after the iteration cap; matrix coverage is still enforced. The override path snapshots outcome: "human_override" with the reason stored in rejectReason for audit.

Human escalation path (cap-reached safeguard)

After 5 test-review iterations (or signature-loop detection), the autonomous loop must stop and escalate to the human. The skill presents the full iteration history and open blocking findings, then offers two explicit, audited paths:

  • Human correctioniterate_tests --input source=human --input reason="<guidance>". Counter bumps; the round snapshots rejected_human; tests get rewritten per the human's guidance.
  • Human overridetests_approved --input override_reason="<justification>". Bypasses the blocking-findings gate; matrix coverage still required; the round snapshots human_override with the reason recorded.

Explicit full plan display before approve_plan (Phase 4)

The plan must be presented to the human in full — verbatim, no compression — before approve_plan. SKILL.md now mandates an ordered display:

  1. Plan summary
  2. Every step (description, files, risks)
  3. Full DDD analysis
  4. Full TDD strategy
  5. Review matrix
  6. Potential challenges
  7. Aggregated review findings (every reviewer, every finding)
  8. Explicit approval prompt with the accepted phrases ("approve" / "approved" / "LGTM" / "ship it" / "go").

This closes a gap where the model could ask for approval after only summarizing the plan, undermining informed consent at the only true human-gated transition.

Other surface changes

  • record_review guard extended to allow reviewing_tests.
  • hydrate summary now surfaces testReviewIteration alongside codeReviewIteration (so the autonomous loop can detect the cap and escalate cheaply without parsing full state).
  • New ReviewOutcome value: human_override.
  • Model TypeVersion bumped to 2026.04.30.1; package version 2026.04.30.5.

Backwards compatibility

Existing recorded state parses through schema defaults (testReviewIteration defaults to 1). Issues already past approved (in implementing, code_reviewing, etc.) keep working; the new sub-loop applies to any issue that re-enters via implement.

Tests

47 model tests pass (33 prior + 14 new covering the test sub-loop, the override gate, escalation paths, and the new state machine guards).

Why .3 / .4 changelogs were sparse

2026.04.30.3 was auto-published by CI immediately after the code push, and the CI publish step did not pass --release-notes — so the swamp.club changelog entry for .3 was empty. 2026.04.30.4 was a manual republish to attach notes, but the page still shows .3's empty entry in the "Previous Versions" section because per-version notes are immutable once published.

The CI workflow has now been updated to read HEAD's commit message and pass it as --release-notes on every auto-publish, so future versions will always carry notes derived from the version-bump commit.

2026.04.30.4

TDD test sub-loop in implementation phase, with human escalation after the 5-iteration cap.

Highlights since 2026.04.30.2:

  • New states: writing_tests, reviewing_tests. New ReviewPhase: test_review.
  • New methods:
    • review_tests — fan-out reviewers against TDD tests (writing_tests → reviewing_tests).
    • iterate_tests — loop back on test-review findings (reviewing_tests → writing_tests); bumps testReviewIteration; snapshots outcome rejected_auto/rejected_human.
    • tests_approved — gate transitioning reviewing_tests → implementing. Default autonomous gate (matrix coverage + zero CRITICAL + zero HIGH). New optional override_reason bypasses the blocking-findings gate as an explicit human override after the 5-iteration cap; snapshots outcome=human_override with the reason in rejectReason for audit.
  • implement now enters writing_tests (not implementing) so production code is only written after the test-review round comes back clean.
  • record_review guard extended to allow reviewing_tests.
  • hydrate summary now surfaces testReviewIteration alongside codeReviewIteration.
  • New ReviewOutcome value: human_override.

Skill instructions (issue-lifecycle/SKILL.md):

  • Phase 4 now mandates explicit, full-content plan display before approve_plan: summary, every step (with files/risks), DDD analysis, TDD strategy, review matrix, potentialChallenges, aggregated review findings — all verbatim, no compression — followed by an explicit approval prompt.
  • Phase 5 documents the autonomous TDD sub-loop and the cap-reached escalation path: when testReviewIteration >= 5 (or signature loop detected), the skill must surface the iteration history and open findings to the human and offer two explicit, audited paths — iterate_tests source=human (correction) or tests_approved override_reason=… (force-approve).

Tests: 47 passing (33 prior + 14 new covering the test sub-loop, override gate, and escalation paths).

Backwards compatibility: existing recorded state parses through schema defaults (testReviewIteration default = 1). Any in-flight issue still in implementing/code_reviewing continues to work; the new sub-loop applies to issues that re-enter via implement.

2026.04.30.3

Modified 1 models

2026.04.30.2
2026.04.10.1

Restructure to monorepo layout. Add repository field, root README as additionalFile, improved manifest description with state machine and method docs.

updated labels

2026.04.09.1

Initial publish: issue lifecycle model (v2026.04.09.1) with prior-art lookup, DDD+TDD planning, autonomous code-review iteration, UAT/KB harvest, and hydrate summary resource. Bundled with 9 user skills: issue-lifecycle, ddd, tdd, moldable-dev, review-code/adversarial/security/ux/skill.

06Stats
A
100 / 100
Downloads
39
Archive size
183.5 KB
  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types (deprecated)1/1earned
  • Dependencies pass trust audit2/2earned
  • Has description1/1earned
  • Platform support declared (or universal)2/2earned
  • License declared1/1earned
  • Verified public repository2/2earned
07Platforms
08Labels