@ikon85/agent-workflow-kit 0.43.0 → 0.44.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/grill-me/SKILL.md +3 -1
- package/.agents/skills/grill-with-docs/SKILL.md +3 -1
- package/.agents/skills/kit-update/SKILL.md +9 -11
- package/.agents/skills/orchestrate-wave/SKILL.md +8 -8
- package/.agents/skills/setup-workflow/SKILL.md +20 -18
- package/.agents/skills/setup-workflow/board-sync.md +4 -1
- package/.agents/skills/setup-workflow/workflow-advisories.md +3 -2
- package/.agents/skills/setup-workflow/worktree-lifecycle.md +36 -31
- package/.agents/skills/to-issues/SKILL.md +43 -0
- package/.agents/skills/wrapup/SKILL.md +98 -54
- package/.claude/skills/grill-me/SKILL.md +3 -1
- package/.claude/skills/grill-me-codex/SKILL.md +3 -1
- package/.claude/skills/grill-with-docs/SKILL.md +3 -1
- package/.claude/skills/grill-with-docs-codex/SKILL.md +3 -1
- package/.claude/skills/kit-update/SKILL.md +9 -11
- package/.claude/skills/orchestrate-wave/SKILL.md +8 -8
- package/.claude/skills/setup-workflow/SKILL.md +20 -18
- package/.claude/skills/setup-workflow/board-sync.md +4 -1
- package/.claude/skills/setup-workflow/workflow-advisories.md +3 -2
- package/.claude/skills/setup-workflow/worktree-lifecycle.md +36 -31
- package/.claude/skills/to-issues/SKILL.md +43 -0
- package/.claude/skills/wrapup/SKILL.md +98 -54
- package/README.md +249 -7
- package/agent-workflow-kit.package.json +42 -42
- package/package.json +16 -12
- package/scripts/marker_lib.py +3 -0
- package/scripts/profile_globs.py +26 -45
- package/scripts/release-delta-guard.mjs +26 -9
- package/scripts/worktree-lifecycle/README.md +57 -160
- package/scripts/worktree-lifecycle/capabilities.json +2 -3
- package/scripts/worktree-lifecycle/classify.py +480 -0
- package/scripts/worktree-lifecycle/cleanup.py +9 -29
- package/scripts/worktree-lifecycle/core.py +68 -1429
- package/scripts/worktree-lifecycle/ignore_seed.py +1 -1
- package/scripts/worktree-lifecycle/profile.py +46 -29
- package/scripts/worktree-lifecycle/setup.py +7 -19
- package/scripts/wrapup-land.py +1292 -545
- package/src/consumer-migrations.json +1 -16
- package/src/lib/bundle.mjs +31 -1
- package/docs/adr/0001-consumer-divergence-policy.md +0 -53
- package/docs/adr/0002-capability-gated-orchestration.md +0 -70
- package/docs/adr/0003-kit-core-and-project-extension-lifecycle.md +0 -63
- package/docs/adr/0004-release-intent-is-a-version-tag.md +0 -64
- package/docs/adr/0005-to-issues-is-the-planning-facade.md +0 -42
- package/docs/adr/0006-routing-knowledge-access-and-policy-are-separate.md +0 -95
- package/docs/adr/0007-session-teardown-requires-provenance-bound-ownership.md +0 -88
- package/docs/adr/0008-planning-ignore-rules-are-offered-never-installed.md +0 -84
- package/docs/adr/0009-teardown-authority-is-stateless-repository-classification.md +0 -101
- package/docs/adr/0010-model-roster-replaces-the-optimization-dial.md +0 -87
- package/docs/agents/board-sync.md +0 -74
- package/docs/agents/code-review.md +0 -14
- package/docs/agents/workflow-capabilities.json +0 -28
- package/docs/research/agent-task-taxonomy-benchmark-coverage.md +0 -451
- package/docs/research/benchlm-routing-source.md +0 -198
- package/docs/research/consumer-owned-protocol-files.md +0 -238
- package/docs/research/frontend-agent-benchmarks.md +0 -282
- package/docs/research/model-effort-routing-benchmarks.md +0 -261
- package/docs/research/provider-neutral-agent-routing.md +0 -207
- package/docs/research/wave-152-consumer-acceptance.md +0 -98
- package/docs/research/wave-43-script-hook-census.md +0 -128
- package/scripts/build-kit.mjs +0 -117
- package/scripts/build-kit.test.mjs +0 -207
- package/scripts/census/census.test.mjs +0 -252
- package/scripts/census/state.test.mjs +0 -15
- package/scripts/census/transaction.test.mjs +0 -103
- package/scripts/census-contract.test.mjs +0 -227
- package/scripts/check-kit-staleness.mjs +0 -45
- package/scripts/check-kit-staleness.test.mjs +0 -19
- package/scripts/codex-exec-scenarios/fake-codex.mjs +0 -165
- package/scripts/codex-exec.test.mjs +0 -871
- package/scripts/grill-census-wiring-guard.mjs +0 -87
- package/scripts/grill-census-wiring-guard.test.mjs +0 -107
- package/scripts/kit-release.test.mjs +0 -273
- package/scripts/kit-update-pr.test.mjs +0 -151
- package/scripts/lib/audit-refs.mjs +0 -146
- package/scripts/lib/scrub.mjs +0 -113
- package/scripts/lib/scrub.test.mjs +0 -187
- package/scripts/memory-lifecycle/memory-lifecycle.test.mjs +0 -170
- package/scripts/portability_profile_scan.py +0 -53
- package/scripts/release-delta-guard.test.mjs +0 -174
- package/scripts/release-parity.test.mjs +0 -90
- package/scripts/release-state.test.mjs +0 -360
- package/scripts/test_anchor_table.py +0 -69
- package/scripts/test_board_bootstrap.py +0 -348
- package/scripts/test_board_sync.py +0 -208
- package/scripts/test_board_sync_create_idempotency.py +0 -117
- package/scripts/test_board_sync_wave_title.py +0 -120
- package/scripts/test_census_backstop.py +0 -712
- package/scripts/test_census_forward_contract.py +0 -91
- package/scripts/test_census_update_contract.test.mjs +0 -454
- package/scripts/test_codex_adapter_sync_contract.py +0 -169
- package/scripts/test_dist_kit_smoke.py +0 -220
- package/scripts/test_drift_guard_diagnostics.py +0 -295
- package/scripts/test_issue_claim_contract.py +0 -169
- package/scripts/test_kit_docs_language_census.py +0 -178
- package/scripts/test_marker_lib.py +0 -162
- package/scripts/test_orchestrate_wave_contract.py +0 -381
- package/scripts/test_pr_body_check.py +0 -264
- package/scripts/test_profile_globs.py +0 -280
- package/scripts/test_program_planning_contract.py +0 -133
- package/scripts/test_release_authorization_contract.py +0 -101
- package/scripts/test_render_anchor.py +0 -267
- package/scripts/test_retro_wrapup_contract.py +0 -153
- package/scripts/test_skill_code_review_seed.py +0 -89
- package/scripts/test_skill_codex_exec_lifecycle.py +0 -123
- package/scripts/test_skill_frontmatter_lint.py +0 -234
- package/scripts/test_skill_gh_lint.py +0 -124
- package/scripts/test_skill_language_census.py +0 -254
- package/scripts/test_skill_optional_readiness.py +0 -171
- package/scripts/test_skill_portability_lint.py +0 -866
- package/scripts/test_skill_precommit_template.py +0 -30
- package/scripts/test_skill_publish_audit.py +0 -358
- package/scripts/test_skill_readiness_contract.py +0 -264
- package/scripts/test_skill_readiness_preflight.py +0 -180
- package/scripts/test_skill_required_readiness.py +0 -233
- package/scripts/test_skill_selfcontainment_lint.py +0 -255
- package/scripts/test_skill_setup_workflow_seeds.py +0 -691
- package/scripts/test_skill_stale_name_lint.py +0 -126
- package/scripts/test_skill_surface_refs.py +0 -300
- package/scripts/test_skill_trailing_artifact_lint.py +0 -71
- package/scripts/test_tdd_contract.py +0 -78
- package/scripts/test_worktree_ignore_seed.py +0 -320
- package/scripts/test_worktree_setup_base_guard.py +0 -140
- package/scripts/test_worktree_wrapup_contract.py +0 -1737
- package/scripts/test_wrapup_land.py +0 -428
- package/scripts/worktree-lifecycle/session.py +0 -1857
package/README.md
CHANGED
|
@@ -169,9 +169,20 @@ enter outside the plan funnel and feed straight into Execute:
|
|
|
169
169
|
> handoff.* The land phase puts mechanical gates in front of the commit.
|
|
170
170
|
|
|
171
171
|
- **`wrapup`** — the land-and-clean closeout: make the branch landable, enforce
|
|
172
|
-
the PR body contract, merge the PR, reconcile the board,
|
|
173
|
-
|
|
174
|
-
the user outcome
|
|
172
|
+
the PR body contract, merge the PR, reconcile the board, tear the finished
|
|
173
|
+
worktree down, retire the branch, sweep merged branches, and surface anything
|
|
174
|
+
still open. It does not replace live verification; verify the user outcome
|
|
175
|
+
before landing. Interrupted halfway? Re-run it — every step re-reads present
|
|
176
|
+
state (does the PR exist, is it merged, is the worktree still there?) and skips
|
|
177
|
+
what is already done, so there is no separate resume mode and no journal to
|
|
178
|
+
repair.
|
|
179
|
+
- **Teardown asks your repository, not a config file.** Finishing a worktree
|
|
180
|
+
classifies it with git's own file taxonomy at the moment it acts: a tracked
|
|
181
|
+
change or an unmerged path blocks, an untracked file your repo does *not*
|
|
182
|
+
ignore blocks with a bounded report, and an ignored entry is scratch that dies
|
|
183
|
+
with the worktree. Making something disposable therefore means ignoring it —
|
|
184
|
+
the full rules, the `.env*` exception, and the breaking change from the pattern
|
|
185
|
+
keys are in [the worktree lifecycle](#the-worktree-lifecycle).
|
|
175
186
|
- **The pre-commit / pre-push gate fires automatically** — TypeScript, lint, and
|
|
176
187
|
contract guards block a broken commit or push. You don't run a skill here; the
|
|
177
188
|
gate was installed once at setup (`git-guardrails` / `setup-pre-commit`, both
|
|
@@ -307,6 +318,71 @@ Status stage names are yours too: scripts and skills address stages by semantic
|
|
|
307
318
|
your option names, e.g. `board-sync.py add --status-role spec`), so a board in
|
|
308
319
|
any language works — map each role once, rename an option with one profile edit.
|
|
309
320
|
|
|
321
|
+
### The worktree lifecycle
|
|
322
|
+
|
|
323
|
+
An optional capability, offered once by `/setup-workflow` and recorded in your
|
|
324
|
+
own `docs/agents/workflow-capabilities.json`. Enabled, it gives each build its
|
|
325
|
+
own linked worktree: `python3 scripts/worktree-lifecycle/setup.py` cuts the
|
|
326
|
+
branch, creates the worktree from your naming templates, and runs your project's
|
|
327
|
+
setup steps; on Claude Code a set of hook adapters keeps edits, verification
|
|
328
|
+
commands, and Git mutations in the checkout they belong to; and `wrapup` tears
|
|
329
|
+
the worktree down after the merge. A worktree belongs to a **build** — a session
|
|
330
|
+
that only plans or grills stays in the main checkout, keeps its scratch on disk,
|
|
331
|
+
and lands its durable output as ordinary content.
|
|
332
|
+
|
|
333
|
+
The profile carries structural facts only: where worktrees live
|
|
334
|
+
(`worktreeRoot`), how branches and paths are named (`branchTemplate`,
|
|
335
|
+
`contentBranchTemplate`, `pathTemplate`, `branchRegex`), which branches are
|
|
336
|
+
protected (`mainBranches`, `protectedBranches`), the setup command and its
|
|
337
|
+
ordered steps, and the command patterns that must run inside the active
|
|
338
|
+
worktree. Keys the loader does not know are ignored in silence, so a profile
|
|
339
|
+
written for an older kit keeps working without warning noise.
|
|
340
|
+
|
|
341
|
+
**Teardown authority is the repository's current state, read at the moment of
|
|
342
|
+
action, and nothing else.** It classifies the worktree with git's own file
|
|
343
|
+
taxonomy over your standard exclude sources — the repository's `.gitignore`
|
|
344
|
+
files, `.git/info/exclude`, and your global excludes file:
|
|
345
|
+
|
|
346
|
+
| What git reports | What teardown does |
|
|
347
|
+
|---|---|
|
|
348
|
+
| a tracked modification, or an unmerged path | blocks, and names it |
|
|
349
|
+
| an untracked file you do **not** ignore | blocks with a bounded report — a count plus the top directories, never a page-long path dump |
|
|
350
|
+
| an ignored entry | scratch: deleted together with the worktree |
|
|
351
|
+
|
|
352
|
+
Two rules sit on top of that taxonomy. An `.env*` file (basename glob) is the
|
|
353
|
+
single hardcoded exception — ignored, yet potentially irreplaceable — so it is
|
|
354
|
+
removed only when it is byte-identical to the file at the same relative path in
|
|
355
|
+
your main checkout; divergent, missing there, or not a plain file stops teardown
|
|
356
|
+
and names the exact file. An ignored symlink is unlinked, never followed, and
|
|
357
|
+
only while its target stays inside the worktree: an absolute, escaping, dangling,
|
|
358
|
+
or since-changed target keeps the worktree and names the link.
|
|
359
|
+
|
|
360
|
+
Branch retirement is authorized, never assumed. A branch that is an ancestor of
|
|
361
|
+
the freshly fetched protected branch is deleted normally. A branch that is not is
|
|
362
|
+
force-deleted only when exactly one merged pull request matches it completely —
|
|
363
|
+
your repository as base, no fork head, the same head and base ref — and that
|
|
364
|
+
PR's head commit still equals the branch tip when the tip is re-read immediately
|
|
365
|
+
before deletion. Anything else keeps the branch and reports why. Without
|
|
366
|
+
platform access this degrades to ancestry only, and says so.
|
|
367
|
+
|
|
368
|
+
For a read-only inventory of every linked worktree and local branch — issue, PR,
|
|
369
|
+
merge, age, and removal facts, nothing removed — run
|
|
370
|
+
`python3 scripts/worktree-lifecycle/cleanup.py sweep`.
|
|
371
|
+
|
|
372
|
+
> **Breaking — the deletion pattern keys are gone, with no migration.** Earlier
|
|
373
|
+
> releases configured what teardown could delete with
|
|
374
|
+
> `worktreeLifecycle.scratchPatterns` and
|
|
375
|
+
> `wrapup.landingGeneratedArtifactPatterns`. Both keys are removed. Deletion
|
|
376
|
+
> policy now has exactly one configuration surface: the ignore mechanism. There
|
|
377
|
+
> is nothing to migrate — a profile that still carries either key simply keeps
|
|
378
|
+
> it as consumer data; nothing reads it, nothing warns, nothing rewrites it —
|
|
379
|
+
> but the behaviour did change. If you used a pattern to make a file deletable,
|
|
380
|
+
> ignore the file instead; `/setup-workflow` offers (never installs) the ignore
|
|
381
|
+
> rules for the planning artefacts the shipped skills write. And note the risk
|
|
382
|
+
> this deliberately accepts: a file you keep gitignored inside a worktree is
|
|
383
|
+
> deletable at teardown unless it matches `.env*`. The decision record is
|
|
384
|
+
> `docs/adr/0009-teardown-authority-is-stateless-repository-classification.md`.
|
|
385
|
+
|
|
310
386
|
### What's yours vs. the kit's
|
|
311
387
|
|
|
312
388
|
`init` records a sha256 of every file it installs. That's the line between the
|
|
@@ -425,8 +501,42 @@ Explicit fork with its own identity and update line instead.
|
|
|
425
501
|
|
|
426
502
|
## Upgrade notes
|
|
427
503
|
|
|
504
|
+
### 0.44.0 — teardown classifies, and the package ships less
|
|
505
|
+
|
|
506
|
+
**Action required only if your profile configured teardown patterns.**
|
|
507
|
+
|
|
508
|
+
`worktreeLifecycle.scratchPatterns` and `wrapup.landingGeneratedArtifactPatterns`
|
|
509
|
+
are gone, with no migration. Teardown now classifies what it may delete from the
|
|
510
|
+
repository's own ignore rules at the moment it acts, so the ignore mechanism is
|
|
511
|
+
the single place deletion policy is configured. A profile still carrying either
|
|
512
|
+
key simply keeps it, unread — nothing breaks, but the key no longer does
|
|
513
|
+
anything. Move whatever those patterns protected into `.gitignore` (to make it
|
|
514
|
+
deletable scratch) or out of the ignore rules (to make it a blocker).
|
|
515
|
+
|
|
516
|
+
Two consequences worth knowing before your next `/wrapup`:
|
|
517
|
+
|
|
518
|
+
- A gitignored file that is not `.env*` is deletable at teardown. That is the
|
|
519
|
+
deliberate trade for having no pattern list to maintain.
|
|
520
|
+
- The session-teardown CLI `scripts/worktree-lifecycle/session.py` is removed,
|
|
521
|
+
along with both of its recovery flags. Re-running the command is the recovery
|
|
522
|
+
route; there is no attempt journal to repair. Worktree creation now goes
|
|
523
|
+
through `scripts/worktree-lifecycle/setup.py`.
|
|
524
|
+
|
|
525
|
+
**The long "removed:" list in the release notes below is mostly narrower
|
|
526
|
+
packaging, not deleted features.** Tests, this repository's own ADRs and
|
|
527
|
+
research notes, and its build tooling stopped being published into
|
|
528
|
+
`node_modules`; none of them was ever installed into a consumer repo by `init`,
|
|
529
|
+
and every one of the 338 installed files is unchanged in scope. The only entry
|
|
530
|
+
that removes something consumers could have used is `session.py`.
|
|
531
|
+
|
|
428
532
|
### 0.38.0 — explicit landing-artifact policy
|
|
429
533
|
|
|
534
|
+
**Superseded — no action required.** A later release removed the pattern keys
|
|
535
|
+
without a migration: teardown now classifies from the repository's own ignore
|
|
536
|
+
rules, so `wrapup.landingGeneratedArtifactPatterns` is no longer read, the
|
|
537
|
+
requirement is no longer registered, and a profile still carrying the key
|
|
538
|
+
simply keeps it. The original note is kept below as history.
|
|
539
|
+
|
|
430
540
|
Existing consumers must run `setup-workflow` once after `kit-update`, review
|
|
431
541
|
the generated `wrapup.landingGeneratedArtifactPatterns` decision in
|
|
432
542
|
`docs/agents/workflow-capabilities.json`, and commit that profile change.
|
|
@@ -469,6 +579,135 @@ the old way. Decision record:
|
|
|
469
579
|
|
|
470
580
|
## Release notes
|
|
471
581
|
|
|
582
|
+
### 0.44.0
|
|
583
|
+
|
|
584
|
+
- added: `scripts/worktree-lifecycle/classify.py`
|
|
585
|
+
- removed: `docs/adr/0001-consumer-divergence-policy.md`
|
|
586
|
+
- removed: `docs/adr/0002-capability-gated-orchestration.md`
|
|
587
|
+
- removed: `docs/adr/0003-kit-core-and-project-extension-lifecycle.md`
|
|
588
|
+
- removed: `docs/adr/0004-release-intent-is-a-version-tag.md`
|
|
589
|
+
- removed: `docs/adr/0005-to-issues-is-the-planning-facade.md`
|
|
590
|
+
- removed: `docs/adr/0006-routing-knowledge-access-and-policy-are-separate.md`
|
|
591
|
+
- removed: `docs/adr/0007-session-teardown-requires-provenance-bound-ownership.md`
|
|
592
|
+
- removed: `docs/adr/0008-planning-ignore-rules-are-offered-never-installed.md`
|
|
593
|
+
- removed: `docs/adr/0009-teardown-authority-is-stateless-repository-classification.md`
|
|
594
|
+
- removed: `docs/adr/0010-model-roster-replaces-the-optimization-dial.md`
|
|
595
|
+
- removed: `docs/agents/board-sync.md`
|
|
596
|
+
- removed: `docs/agents/code-review.md`
|
|
597
|
+
- removed: `docs/agents/workflow-capabilities.json`
|
|
598
|
+
- removed: `docs/research/agent-task-taxonomy-benchmark-coverage.md`
|
|
599
|
+
- removed: `docs/research/benchlm-routing-source.md`
|
|
600
|
+
- removed: `docs/research/consumer-owned-protocol-files.md`
|
|
601
|
+
- removed: `docs/research/frontend-agent-benchmarks.md`
|
|
602
|
+
- removed: `docs/research/model-effort-routing-benchmarks.md`
|
|
603
|
+
- removed: `docs/research/provider-neutral-agent-routing.md`
|
|
604
|
+
- removed: `docs/research/wave-152-consumer-acceptance.md`
|
|
605
|
+
- removed: `docs/research/wave-43-script-hook-census.md`
|
|
606
|
+
- removed: `scripts/build-kit.mjs`
|
|
607
|
+
- removed: `scripts/build-kit.test.mjs`
|
|
608
|
+
- removed: `scripts/census-contract.test.mjs`
|
|
609
|
+
- removed: `scripts/census/census.test.mjs`
|
|
610
|
+
- removed: `scripts/census/state.test.mjs`
|
|
611
|
+
- removed: `scripts/census/transaction.test.mjs`
|
|
612
|
+
- removed: `scripts/check-kit-staleness.mjs`
|
|
613
|
+
- removed: `scripts/check-kit-staleness.test.mjs`
|
|
614
|
+
- removed: `scripts/codex-exec-scenarios/fake-codex.mjs`
|
|
615
|
+
- removed: `scripts/codex-exec.test.mjs`
|
|
616
|
+
- removed: `scripts/grill-census-wiring-guard.mjs`
|
|
617
|
+
- removed: `scripts/grill-census-wiring-guard.test.mjs`
|
|
618
|
+
- removed: `scripts/kit-release.test.mjs`
|
|
619
|
+
- removed: `scripts/kit-update-pr.test.mjs`
|
|
620
|
+
- removed: `scripts/lib/audit-refs.mjs`
|
|
621
|
+
- removed: `scripts/lib/scrub.mjs`
|
|
622
|
+
- removed: `scripts/lib/scrub.test.mjs`
|
|
623
|
+
- removed: `scripts/memory-lifecycle/memory-lifecycle.test.mjs`
|
|
624
|
+
- removed: `scripts/portability_profile_scan.py`
|
|
625
|
+
- removed: `scripts/release-delta-guard.test.mjs`
|
|
626
|
+
- removed: `scripts/release-parity.test.mjs`
|
|
627
|
+
- removed: `scripts/release-state.test.mjs`
|
|
628
|
+
- removed: `scripts/test_anchor_table.py`
|
|
629
|
+
- removed: `scripts/test_board_bootstrap.py`
|
|
630
|
+
- removed: `scripts/test_board_sync.py`
|
|
631
|
+
- removed: `scripts/test_board_sync_create_idempotency.py`
|
|
632
|
+
- removed: `scripts/test_board_sync_wave_title.py`
|
|
633
|
+
- removed: `scripts/test_census_backstop.py`
|
|
634
|
+
- removed: `scripts/test_census_forward_contract.py`
|
|
635
|
+
- removed: `scripts/test_census_update_contract.test.mjs`
|
|
636
|
+
- removed: `scripts/test_codex_adapter_sync_contract.py`
|
|
637
|
+
- removed: `scripts/test_dist_kit_smoke.py`
|
|
638
|
+
- removed: `scripts/test_drift_guard_diagnostics.py`
|
|
639
|
+
- removed: `scripts/test_issue_claim_contract.py`
|
|
640
|
+
- removed: `scripts/test_kit_docs_language_census.py`
|
|
641
|
+
- removed: `scripts/test_marker_lib.py`
|
|
642
|
+
- removed: `scripts/test_orchestrate_wave_contract.py`
|
|
643
|
+
- removed: `scripts/test_pr_body_check.py`
|
|
644
|
+
- removed: `scripts/test_profile_globs.py`
|
|
645
|
+
- removed: `scripts/test_program_planning_contract.py`
|
|
646
|
+
- removed: `scripts/test_release_authorization_contract.py`
|
|
647
|
+
- removed: `scripts/test_render_anchor.py`
|
|
648
|
+
- removed: `scripts/test_retro_wrapup_contract.py`
|
|
649
|
+
- removed: `scripts/test_skill_code_review_seed.py`
|
|
650
|
+
- removed: `scripts/test_skill_codex_exec_lifecycle.py`
|
|
651
|
+
- removed: `scripts/test_skill_frontmatter_lint.py`
|
|
652
|
+
- removed: `scripts/test_skill_gh_lint.py`
|
|
653
|
+
- removed: `scripts/test_skill_language_census.py`
|
|
654
|
+
- removed: `scripts/test_skill_optional_readiness.py`
|
|
655
|
+
- removed: `scripts/test_skill_portability_lint.py`
|
|
656
|
+
- removed: `scripts/test_skill_precommit_template.py`
|
|
657
|
+
- removed: `scripts/test_skill_publish_audit.py`
|
|
658
|
+
- removed: `scripts/test_skill_readiness_contract.py`
|
|
659
|
+
- removed: `scripts/test_skill_readiness_preflight.py`
|
|
660
|
+
- removed: `scripts/test_skill_required_readiness.py`
|
|
661
|
+
- removed: `scripts/test_skill_selfcontainment_lint.py`
|
|
662
|
+
- removed: `scripts/test_skill_setup_workflow_seeds.py`
|
|
663
|
+
- removed: `scripts/test_skill_stale_name_lint.py`
|
|
664
|
+
- removed: `scripts/test_skill_surface_refs.py`
|
|
665
|
+
- removed: `scripts/test_skill_trailing_artifact_lint.py`
|
|
666
|
+
- removed: `scripts/test_tdd_contract.py`
|
|
667
|
+
- removed: `scripts/test_worktree_ignore_seed.py`
|
|
668
|
+
- removed: `scripts/test_worktree_setup_base_guard.py`
|
|
669
|
+
- removed: `scripts/test_worktree_wrapup_contract.py`
|
|
670
|
+
- removed: `scripts/test_wrapup_land.py`
|
|
671
|
+
- removed: `scripts/worktree-lifecycle/session.py`
|
|
672
|
+
- changed: `.agents/skills/grill-me/SKILL.md`
|
|
673
|
+
- changed: `.agents/skills/grill-with-docs/SKILL.md`
|
|
674
|
+
- changed: `.agents/skills/kit-update/SKILL.md`
|
|
675
|
+
- changed: `.agents/skills/orchestrate-wave/SKILL.md`
|
|
676
|
+
- changed: `.agents/skills/setup-workflow/SKILL.md`
|
|
677
|
+
- changed: `.agents/skills/setup-workflow/board-sync.md`
|
|
678
|
+
- changed: `.agents/skills/setup-workflow/workflow-advisories.md`
|
|
679
|
+
- changed: `.agents/skills/setup-workflow/worktree-lifecycle.md`
|
|
680
|
+
- changed: `.agents/skills/to-issues/SKILL.md`
|
|
681
|
+
- changed: `.agents/skills/wrapup/SKILL.md`
|
|
682
|
+
- changed: `.claude/skills/grill-me-codex/SKILL.md`
|
|
683
|
+
- changed: `.claude/skills/grill-me/SKILL.md`
|
|
684
|
+
- changed: `.claude/skills/grill-with-docs-codex/SKILL.md`
|
|
685
|
+
- changed: `.claude/skills/grill-with-docs/SKILL.md`
|
|
686
|
+
- changed: `.claude/skills/kit-update/SKILL.md`
|
|
687
|
+
- changed: `.claude/skills/orchestrate-wave/SKILL.md`
|
|
688
|
+
- changed: `.claude/skills/setup-workflow/SKILL.md`
|
|
689
|
+
- changed: `.claude/skills/setup-workflow/board-sync.md`
|
|
690
|
+
- changed: `.claude/skills/setup-workflow/workflow-advisories.md`
|
|
691
|
+
- changed: `.claude/skills/setup-workflow/worktree-lifecycle.md`
|
|
692
|
+
- changed: `.claude/skills/to-issues/SKILL.md`
|
|
693
|
+
- changed: `.claude/skills/wrapup/SKILL.md`
|
|
694
|
+
- changed: `README.md`
|
|
695
|
+
- changed: `agent-workflow-kit.package.json`
|
|
696
|
+
- changed: `package.json`
|
|
697
|
+
- changed: `scripts/marker_lib.py`
|
|
698
|
+
- changed: `scripts/profile_globs.py`
|
|
699
|
+
- changed: `scripts/release-delta-guard.mjs`
|
|
700
|
+
- changed: `scripts/worktree-lifecycle/README.md`
|
|
701
|
+
- changed: `scripts/worktree-lifecycle/capabilities.json`
|
|
702
|
+
- changed: `scripts/worktree-lifecycle/cleanup.py`
|
|
703
|
+
- changed: `scripts/worktree-lifecycle/core.py`
|
|
704
|
+
- changed: `scripts/worktree-lifecycle/ignore_seed.py`
|
|
705
|
+
- changed: `scripts/worktree-lifecycle/profile.py`
|
|
706
|
+
- changed: `scripts/worktree-lifecycle/setup.py`
|
|
707
|
+
- changed: `scripts/wrapup-land.py`
|
|
708
|
+
- changed: `src/consumer-migrations.json`
|
|
709
|
+
- changed: `src/lib/bundle.mjs`
|
|
710
|
+
|
|
472
711
|
### 0.43.0
|
|
473
712
|
|
|
474
713
|
- removed: `docs/agents/domain.md`
|
|
@@ -1470,10 +1709,13 @@ skip these on a Codex-first repo): `write-a-skill`, `git-guardrails-claude-code`
|
|
|
1470
1709
|
`codex-build`.
|
|
1471
1710
|
|
|
1472
1711
|
**Helper scripts** — `board_config.py` (profile loader), `board-sync.py`,
|
|
1473
|
-
`execute-ready-check.py`, `pr-body-check.py`, the
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1712
|
+
`execute-ready-check.py`, `pr-body-check.py`, `wrapup-land.py` (the landing and
|
|
1713
|
+
teardown driver), the `scripts/worktree-lifecycle/` set (setup entry, teardown
|
|
1714
|
+
classification, cleanup plus the read-only sweep, and the planning-artifact
|
|
1715
|
+
ignore-rule offer), the handoff drift-guard, the skill-drift-hint, board-status
|
|
1716
|
+
and worktree hooks (Claude only — wired via `.claude/settings.json`, no Codex
|
|
1717
|
+
mirror), the opt-in LoC-offender gate, and the wave-anchor +
|
|
1718
|
+
security-audit-runbook templates.
|
|
1477
1719
|
|
|
1478
1720
|
This kit deliberately ships without a test suite (a leaner `npx` payload) — the
|
|
1479
1721
|
scripts and skills are tested in the maintainer's private source repo they're
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"kitVersion": "0.
|
|
2
|
+
"kitVersion": "0.44.0",
|
|
3
3
|
"files": [
|
|
4
4
|
{
|
|
5
5
|
"path": ".agents/skills/ask-matt/SKILL.md",
|
|
@@ -207,7 +207,7 @@
|
|
|
207
207
|
"ownerSkill": "grill-me",
|
|
208
208
|
"surface": "codex",
|
|
209
209
|
"installRole": "consumer",
|
|
210
|
-
"sha256": "
|
|
210
|
+
"sha256": "f23fe7dfbe7e546cfbce5af8467d7d119008e4379f47f2904b53cb6cab9ec538",
|
|
211
211
|
"mode": 420,
|
|
212
212
|
"origin": "kit"
|
|
213
213
|
},
|
|
@@ -247,7 +247,7 @@
|
|
|
247
247
|
"ownerSkill": "grill-with-docs",
|
|
248
248
|
"surface": "codex",
|
|
249
249
|
"installRole": "consumer",
|
|
250
|
-
"sha256": "
|
|
250
|
+
"sha256": "677068c8ed1bf024cf36dda04e8843dd39e00dbcc1c6a45145036c5eb7ffc176",
|
|
251
251
|
"mode": 420,
|
|
252
252
|
"origin": "kit"
|
|
253
253
|
},
|
|
@@ -377,7 +377,7 @@
|
|
|
377
377
|
"ownerSkill": "kit-update",
|
|
378
378
|
"surface": "codex",
|
|
379
379
|
"installRole": "consumer",
|
|
380
|
-
"sha256": "
|
|
380
|
+
"sha256": "4ab23b5ec7df6b89dd0e63ae74956aee282231c0c5b497eef52f142a3ae52a4e",
|
|
381
381
|
"mode": 420,
|
|
382
382
|
"origin": "kit"
|
|
383
383
|
},
|
|
@@ -447,7 +447,7 @@
|
|
|
447
447
|
"ownerSkill": "orchestrate-wave",
|
|
448
448
|
"surface": "codex",
|
|
449
449
|
"installRole": "consumer",
|
|
450
|
-
"sha256": "
|
|
450
|
+
"sha256": "d4afe0ac87fe7d6f3d812c47872ad6c73909a6af170847c757fcad72f839a364",
|
|
451
451
|
"mode": 420,
|
|
452
452
|
"origin": "kit"
|
|
453
453
|
},
|
|
@@ -587,7 +587,7 @@
|
|
|
587
587
|
"ownerSkill": "setup-workflow",
|
|
588
588
|
"surface": "codex",
|
|
589
589
|
"installRole": "consumer",
|
|
590
|
-
"sha256": "
|
|
590
|
+
"sha256": "3332296c656fc44ac65ddbbe619795bfc18c81478ddf8c621f78cbf8189fd4b5",
|
|
591
591
|
"mode": 420,
|
|
592
592
|
"origin": "kit"
|
|
593
593
|
},
|
|
@@ -687,7 +687,7 @@
|
|
|
687
687
|
"ownerSkill": "setup-workflow",
|
|
688
688
|
"surface": "codex",
|
|
689
689
|
"installRole": "consumer",
|
|
690
|
-
"sha256": "
|
|
690
|
+
"sha256": "bb9c0fed0a1b7bfe211cf55f2fd352447e88f9078002ec289f41c2878d1510da",
|
|
691
691
|
"mode": 420,
|
|
692
692
|
"origin": "kit"
|
|
693
693
|
},
|
|
@@ -737,7 +737,7 @@
|
|
|
737
737
|
"ownerSkill": "setup-workflow",
|
|
738
738
|
"surface": "codex",
|
|
739
739
|
"installRole": "consumer",
|
|
740
|
-
"sha256": "
|
|
740
|
+
"sha256": "b6c62eff8a5bada4f322d9b7dc7df2ff5e695b2c509f9e532ee4bc7411de166f",
|
|
741
741
|
"mode": 420,
|
|
742
742
|
"origin": "kit"
|
|
743
743
|
},
|
|
@@ -757,7 +757,7 @@
|
|
|
757
757
|
"ownerSkill": "setup-workflow",
|
|
758
758
|
"surface": "codex",
|
|
759
759
|
"installRole": "consumer",
|
|
760
|
-
"sha256": "
|
|
760
|
+
"sha256": "3f22e152083353e4adf143044a4ede56563f85968432420ab04260abe98b82f9",
|
|
761
761
|
"mode": 420,
|
|
762
762
|
"origin": "kit"
|
|
763
763
|
},
|
|
@@ -857,7 +857,7 @@
|
|
|
857
857
|
"ownerSkill": "to-issues",
|
|
858
858
|
"surface": "codex",
|
|
859
859
|
"installRole": "consumer",
|
|
860
|
-
"sha256": "
|
|
860
|
+
"sha256": "c118e8561a4e47de777a60d1773333e1bff49cddb42ee69504451f57f02e16cc",
|
|
861
861
|
"mode": 420,
|
|
862
862
|
"origin": "kit"
|
|
863
863
|
},
|
|
@@ -997,7 +997,7 @@
|
|
|
997
997
|
"ownerSkill": "wrapup",
|
|
998
998
|
"surface": "codex",
|
|
999
999
|
"installRole": "consumer",
|
|
1000
|
-
"sha256": "
|
|
1000
|
+
"sha256": "da15a597d296e57a1d9d42ab6ebee218d777dc544feb3b7cb9f9a3318925e39e",
|
|
1001
1001
|
"mode": 420,
|
|
1002
1002
|
"origin": "kit"
|
|
1003
1003
|
},
|
|
@@ -1469,7 +1469,7 @@
|
|
|
1469
1469
|
"ownerSkill": "grill-me-codex",
|
|
1470
1470
|
"surface": "claude",
|
|
1471
1471
|
"installRole": "consumer",
|
|
1472
|
-
"sha256": "
|
|
1472
|
+
"sha256": "65c312a2f738897ccafb3a1af23607c0b1bd9b156ba6f7d2cde162fc919fb161",
|
|
1473
1473
|
"mode": 420,
|
|
1474
1474
|
"origin": "kit"
|
|
1475
1475
|
},
|
|
@@ -1489,7 +1489,7 @@
|
|
|
1489
1489
|
"ownerSkill": "grill-me",
|
|
1490
1490
|
"surface": "claude",
|
|
1491
1491
|
"installRole": "consumer",
|
|
1492
|
-
"sha256": "
|
|
1492
|
+
"sha256": "eed0e4009fadc98b892d2b645cfa7a4b5735dd71795d7b28a2f4ef9c6eff891f",
|
|
1493
1493
|
"mode": 420,
|
|
1494
1494
|
"origin": "kit"
|
|
1495
1495
|
},
|
|
@@ -1529,7 +1529,7 @@
|
|
|
1529
1529
|
"ownerSkill": "grill-with-docs-codex",
|
|
1530
1530
|
"surface": "claude",
|
|
1531
1531
|
"installRole": "consumer",
|
|
1532
|
-
"sha256": "
|
|
1532
|
+
"sha256": "d1a85fa5e00c63c78b545d61eb589fa48af11d097a789f23af7d69fa69cd2461",
|
|
1533
1533
|
"mode": 420,
|
|
1534
1534
|
"origin": "kit"
|
|
1535
1535
|
},
|
|
@@ -1569,7 +1569,7 @@
|
|
|
1569
1569
|
"ownerSkill": "grill-with-docs",
|
|
1570
1570
|
"surface": "claude",
|
|
1571
1571
|
"installRole": "consumer",
|
|
1572
|
-
"sha256": "
|
|
1572
|
+
"sha256": "eb3527e99f8174d46eead925c1611d43db593596d5758bb335a4af62f9899d31",
|
|
1573
1573
|
"mode": 420,
|
|
1574
1574
|
"origin": "kit"
|
|
1575
1575
|
},
|
|
@@ -1699,7 +1699,7 @@
|
|
|
1699
1699
|
"ownerSkill": "kit-update",
|
|
1700
1700
|
"surface": "claude",
|
|
1701
1701
|
"installRole": "consumer",
|
|
1702
|
-
"sha256": "
|
|
1702
|
+
"sha256": "4ab23b5ec7df6b89dd0e63ae74956aee282231c0c5b497eef52f142a3ae52a4e",
|
|
1703
1703
|
"mode": 420,
|
|
1704
1704
|
"origin": "kit"
|
|
1705
1705
|
},
|
|
@@ -1769,7 +1769,7 @@
|
|
|
1769
1769
|
"ownerSkill": "orchestrate-wave",
|
|
1770
1770
|
"surface": "claude",
|
|
1771
1771
|
"installRole": "consumer",
|
|
1772
|
-
"sha256": "
|
|
1772
|
+
"sha256": "d4afe0ac87fe7d6f3d812c47872ad6c73909a6af170847c757fcad72f839a364",
|
|
1773
1773
|
"mode": 420,
|
|
1774
1774
|
"origin": "kit"
|
|
1775
1775
|
},
|
|
@@ -1929,7 +1929,7 @@
|
|
|
1929
1929
|
"ownerSkill": "setup-workflow",
|
|
1930
1930
|
"surface": "claude",
|
|
1931
1931
|
"installRole": "consumer",
|
|
1932
|
-
"sha256": "
|
|
1932
|
+
"sha256": "3332296c656fc44ac65ddbbe619795bfc18c81478ddf8c621f78cbf8189fd4b5",
|
|
1933
1933
|
"mode": 420,
|
|
1934
1934
|
"origin": "kit"
|
|
1935
1935
|
},
|
|
@@ -2029,7 +2029,7 @@
|
|
|
2029
2029
|
"ownerSkill": "setup-workflow",
|
|
2030
2030
|
"surface": "claude",
|
|
2031
2031
|
"installRole": "consumer",
|
|
2032
|
-
"sha256": "
|
|
2032
|
+
"sha256": "bb9c0fed0a1b7bfe211cf55f2fd352447e88f9078002ec289f41c2878d1510da",
|
|
2033
2033
|
"mode": 420,
|
|
2034
2034
|
"origin": "kit"
|
|
2035
2035
|
},
|
|
@@ -2079,7 +2079,7 @@
|
|
|
2079
2079
|
"ownerSkill": "setup-workflow",
|
|
2080
2080
|
"surface": "claude",
|
|
2081
2081
|
"installRole": "consumer",
|
|
2082
|
-
"sha256": "
|
|
2082
|
+
"sha256": "b6c62eff8a5bada4f322d9b7dc7df2ff5e695b2c509f9e532ee4bc7411de166f",
|
|
2083
2083
|
"mode": 420,
|
|
2084
2084
|
"origin": "kit"
|
|
2085
2085
|
},
|
|
@@ -2099,7 +2099,7 @@
|
|
|
2099
2099
|
"ownerSkill": "setup-workflow",
|
|
2100
2100
|
"surface": "claude",
|
|
2101
2101
|
"installRole": "consumer",
|
|
2102
|
-
"sha256": "
|
|
2102
|
+
"sha256": "3f22e152083353e4adf143044a4ede56563f85968432420ab04260abe98b82f9",
|
|
2103
2103
|
"mode": 420,
|
|
2104
2104
|
"origin": "kit"
|
|
2105
2105
|
},
|
|
@@ -2207,7 +2207,7 @@
|
|
|
2207
2207
|
"ownerSkill": "to-issues",
|
|
2208
2208
|
"surface": "claude",
|
|
2209
2209
|
"installRole": "consumer",
|
|
2210
|
-
"sha256": "
|
|
2210
|
+
"sha256": "d3f191639369dcff02de806427f78b6ec434da15ad697bfa4e026b7510a7488e",
|
|
2211
2211
|
"mode": 420,
|
|
2212
2212
|
"origin": "kit"
|
|
2213
2213
|
},
|
|
@@ -2347,7 +2347,7 @@
|
|
|
2347
2347
|
"ownerSkill": "wrapup",
|
|
2348
2348
|
"surface": "claude",
|
|
2349
2349
|
"installRole": "consumer",
|
|
2350
|
-
"sha256": "
|
|
2350
|
+
"sha256": "da15a597d296e57a1d9d42ab6ebee218d777dc544feb3b7cb9f9a3318925e39e",
|
|
2351
2351
|
"mode": 420,
|
|
2352
2352
|
"origin": "kit"
|
|
2353
2353
|
},
|
|
@@ -2587,7 +2587,7 @@
|
|
|
2587
2587
|
"path": "scripts/marker_lib.py",
|
|
2588
2588
|
"kind": "script",
|
|
2589
2589
|
"installRole": "consumer",
|
|
2590
|
-
"sha256": "
|
|
2590
|
+
"sha256": "ca969bb04d307778ad6ee465b6e59df5761d419e5c348c202829fba0c93c5f90",
|
|
2591
2591
|
"mode": 420,
|
|
2592
2592
|
"origin": "kit"
|
|
2593
2593
|
},
|
|
@@ -2635,7 +2635,7 @@
|
|
|
2635
2635
|
"path": "scripts/profile_globs.py",
|
|
2636
2636
|
"kind": "script",
|
|
2637
2637
|
"installRole": "consumer",
|
|
2638
|
-
"sha256": "
|
|
2638
|
+
"sha256": "7eafb59aa5a881194741894031122ea92ba4b7f97561c8f9e81b2f6f625210d7",
|
|
2639
2639
|
"mode": 493,
|
|
2640
2640
|
"origin": "kit"
|
|
2641
2641
|
},
|
|
@@ -2699,7 +2699,7 @@
|
|
|
2699
2699
|
"path": "scripts/release-delta-guard.mjs",
|
|
2700
2700
|
"kind": "script",
|
|
2701
2701
|
"installRole": "maintainer",
|
|
2702
|
-
"sha256": "
|
|
2702
|
+
"sha256": "486c9d162a97fbfb64d456135916fdaa4551f7226a17cea57b425258e5d224e1",
|
|
2703
2703
|
"mode": 420,
|
|
2704
2704
|
"origin": "kit"
|
|
2705
2705
|
},
|
|
@@ -2795,7 +2795,15 @@
|
|
|
2795
2795
|
"path": "scripts/worktree-lifecycle/capabilities.json",
|
|
2796
2796
|
"kind": "doc",
|
|
2797
2797
|
"installRole": "consumer",
|
|
2798
|
-
"sha256": "
|
|
2798
|
+
"sha256": "761512ca2983240ad10c7b7a5e08f41a6316227284056e2b156deeb47109a544",
|
|
2799
|
+
"mode": 420,
|
|
2800
|
+
"origin": "kit"
|
|
2801
|
+
},
|
|
2802
|
+
{
|
|
2803
|
+
"path": "scripts/worktree-lifecycle/classify.py",
|
|
2804
|
+
"kind": "script",
|
|
2805
|
+
"installRole": "consumer",
|
|
2806
|
+
"sha256": "1591e0980193c6053aac722466c8325a2167c005ee282dbe806f0072527bdec8",
|
|
2799
2807
|
"mode": 420,
|
|
2800
2808
|
"origin": "kit"
|
|
2801
2809
|
},
|
|
@@ -2803,7 +2811,7 @@
|
|
|
2803
2811
|
"path": "scripts/worktree-lifecycle/cleanup.py",
|
|
2804
2812
|
"kind": "script",
|
|
2805
2813
|
"installRole": "consumer",
|
|
2806
|
-
"sha256": "
|
|
2814
|
+
"sha256": "c8b8bbdca98dc215ed87c4b928f7c26ea392d125d6960500a4f30d6a452a42f4",
|
|
2807
2815
|
"mode": 493,
|
|
2808
2816
|
"origin": "kit"
|
|
2809
2817
|
},
|
|
@@ -2811,7 +2819,7 @@
|
|
|
2811
2819
|
"path": "scripts/worktree-lifecycle/core.py",
|
|
2812
2820
|
"kind": "script",
|
|
2813
2821
|
"installRole": "consumer",
|
|
2814
|
-
"sha256": "
|
|
2822
|
+
"sha256": "2429325f411be1df335f77fa600765821397d6f33fcb99d328d0fe2e5dfefbc7",
|
|
2815
2823
|
"mode": 420,
|
|
2816
2824
|
"origin": "kit"
|
|
2817
2825
|
},
|
|
@@ -2819,7 +2827,7 @@
|
|
|
2819
2827
|
"path": "scripts/worktree-lifecycle/ignore_seed.py",
|
|
2820
2828
|
"kind": "script",
|
|
2821
2829
|
"installRole": "consumer",
|
|
2822
|
-
"sha256": "
|
|
2830
|
+
"sha256": "f8792c358fcc6506146aa45c7fc9defb5fc57cfdee7cd7a51c073a6573515dd5",
|
|
2823
2831
|
"mode": 493,
|
|
2824
2832
|
"origin": "kit"
|
|
2825
2833
|
},
|
|
@@ -2835,7 +2843,7 @@
|
|
|
2835
2843
|
"path": "scripts/worktree-lifecycle/profile.py",
|
|
2836
2844
|
"kind": "script",
|
|
2837
2845
|
"installRole": "consumer",
|
|
2838
|
-
"sha256": "
|
|
2846
|
+
"sha256": "7a5d03985430aa4d3256a045aa9092e13e45cd11f0840342015695b427875260",
|
|
2839
2847
|
"mode": 420,
|
|
2840
2848
|
"origin": "kit"
|
|
2841
2849
|
},
|
|
@@ -2843,23 +2851,15 @@
|
|
|
2843
2851
|
"path": "scripts/worktree-lifecycle/README.md",
|
|
2844
2852
|
"kind": "doc",
|
|
2845
2853
|
"installRole": "consumer",
|
|
2846
|
-
"sha256": "
|
|
2854
|
+
"sha256": "59049afc06aa71a16a1422e3a6c6a93c21ef85dbaca016b99df15918ac268873",
|
|
2847
2855
|
"mode": 420,
|
|
2848
2856
|
"origin": "kit"
|
|
2849
2857
|
},
|
|
2850
|
-
{
|
|
2851
|
-
"path": "scripts/worktree-lifecycle/session.py",
|
|
2852
|
-
"kind": "script",
|
|
2853
|
-
"installRole": "consumer",
|
|
2854
|
-
"sha256": "18c2794aaf9fef96a15000c515b600345d3bf1715e23b07d0646156e601ea35a",
|
|
2855
|
-
"mode": 493,
|
|
2856
|
-
"origin": "kit"
|
|
2857
|
-
},
|
|
2858
2858
|
{
|
|
2859
2859
|
"path": "scripts/worktree-lifecycle/setup.py",
|
|
2860
2860
|
"kind": "script",
|
|
2861
2861
|
"installRole": "consumer",
|
|
2862
|
-
"sha256": "
|
|
2862
|
+
"sha256": "d429343da97ebb12ff0e5ce087c8dca41edb3e2592bf32ddb43321c34c787600",
|
|
2863
2863
|
"mode": 493,
|
|
2864
2864
|
"origin": "kit"
|
|
2865
2865
|
},
|
|
@@ -2867,7 +2867,7 @@
|
|
|
2867
2867
|
"path": "scripts/wrapup-land.py",
|
|
2868
2868
|
"kind": "script",
|
|
2869
2869
|
"installRole": "consumer",
|
|
2870
|
-
"sha256": "
|
|
2870
|
+
"sha256": "ae78af54ff292bfb6513be7da0f474727fb14eab3b3aa1a6d8548cb33735550e",
|
|
2871
2871
|
"mode": 493,
|
|
2872
2872
|
"origin": "kit"
|
|
2873
2873
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ikon85/agent-workflow-kit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.44.0",
|
|
4
4
|
"description": "Portable AI-agent workflow skills (plan → execute → land → learn) for Claude Code & Codex — grilling, TDD, diagnosis, two-axis code review, cross-model Codex review, design & domain-modeling, plus a skill router (ask-matt). npx init/update/diff/uninstall.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -23,17 +23,21 @@
|
|
|
23
23
|
".agents/",
|
|
24
24
|
"assets/",
|
|
25
25
|
"scripts/",
|
|
26
|
-
"
|
|
27
|
-
"!
|
|
28
|
-
"!
|
|
29
|
-
"!
|
|
30
|
-
"!
|
|
31
|
-
"!
|
|
32
|
-
"!
|
|
33
|
-
"!
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
26
|
+
"!scripts/**/*.test.mjs",
|
|
27
|
+
"!scripts/test_*.py",
|
|
28
|
+
"!scripts/codex-exec-scenarios/",
|
|
29
|
+
"!scripts/lib/",
|
|
30
|
+
"!scripts/build-kit.mjs",
|
|
31
|
+
"!scripts/check-kit-staleness.mjs",
|
|
32
|
+
"!scripts/grill-census-wiring-guard.mjs",
|
|
33
|
+
"!scripts/portability_profile_scan.py",
|
|
34
|
+
"docs/index.html",
|
|
35
|
+
"docs/methodology.html",
|
|
36
|
+
"docs/methodology.svg",
|
|
37
|
+
"docs/workflow.html",
|
|
38
|
+
"docs/workflow.png",
|
|
39
|
+
"docs/agents/security-audit-runbook-template.md",
|
|
40
|
+
"docs/agents/wave-anchor-template.md",
|
|
37
41
|
"src/",
|
|
38
42
|
"agent-workflow-kit.package.json",
|
|
39
43
|
"LICENSE",
|
package/scripts/marker_lib.py
CHANGED
|
@@ -9,6 +9,9 @@ from collections.abc import Callable
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
MARKER_KINDS = frozenset({
|
|
12
|
+
# The census refresh tracker: one open issue per repository, so a second
|
|
13
|
+
# session updates the issue the first one opened.
|
|
14
|
+
"census-refresh-source",
|
|
12
15
|
"prd-source-id",
|
|
13
16
|
"program-leaf-source",
|
|
14
17
|
"program-stub-source",
|