@amsterdamdatalabs/adl-agent-control-linux-x64 0.1.37 → 0.1.46

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.
Files changed (79) hide show
  1. package/bin/adl +2 -2
  2. package/bin/reconcile +3 -11
  3. package/bin/setup +15 -15
  4. package/package.json +1 -1
  5. package/packages/agent-hooks/package.json +1 -1
  6. package/packages/agent-hooks/src/main.ts +23 -2
  7. package/packages/agent-hooks/src/rules/impl/adl-mcp-cli.ts +12 -8
  8. package/packages/agent-hooks/src/rules/impl/adl-run-required.ts +11 -5
  9. package/packages/agent-hooks/src/rules/impl/adl-workitem-role.ts +18 -5
  10. package/packages/agent-hooks/src/rules/impl/agent-tamper-protection.ts +30 -26
  11. package/packages/agent-hooks/src/rules/impl/git-target.ts +5 -0
  12. package/packages/agent-hooks/src/rules/impl/mcp-tool.ts +3 -1
  13. package/packages/agent-hooks/src/rules/impl/tool-frontend.ts +230 -11
  14. package/packages/agent-hooks/src/rules/shell/git-identity.ts +1 -1
  15. package/packages/agent-hooks/src/rules/shell/invocation.ts +14 -2
  16. package/packages/agent-hooks/src/rules/shell/protected-carriers.ts +10 -11
  17. package/packages/agent-settings/assets/TARUN-GLOBAL-AGENTS-INSTRUCTIONS.md +2 -2
  18. package/packages/agent-settings/package.json +1 -1
  19. package/packages/agent-settings/src/deploy/agents-deploy.ts +19 -1
  20. package/packages/agent-settings/src/deploy/index.ts +1 -0
  21. package/packages/agent-skills/assets/agent-search-tool-audit/SKILL.md +4 -6
  22. package/packages/agent-skills/assets/finalize-feature/SKILL.md +3 -3
  23. package/packages/agent-skills/assets/implement-feature/SKILL.md +17 -20
  24. package/packages/agent-skills/assets/implement-feature/references/briefs.md +3 -3
  25. package/packages/agent-skills/assets/implement-item/SKILL.md +3 -3
  26. package/packages/agent-skills/assets/mechanics/SKILL.md +1 -1
  27. package/packages/agent-skills/assets/plan-feature/SKILL.md +10 -10
  28. package/packages/agent-skills/assets/prepare-promotion/SKILL.md +3 -4
  29. package/packages/agent-skills/assets/report-bug/SKILL.md +2 -2
  30. package/packages/agent-skills/assets/review-change/SKILL.md +3 -3
  31. package/packages/agent-skills/assets/review-plan/SKILL.md +4 -4
  32. package/packages/agent-skills/assets/triage-workitems/SKILL.md +4 -4
  33. package/packages/agent-skills/assets/validate-design/SKILL.md +6 -12
  34. package/packages/agent-skills/assets/verify-item/SKILL.md +5 -5
  35. package/packages/agent-skills/assets/wayfinder/SKILL.md +1 -1
  36. package/packages/agent-skills/assets/workitems-process/SKILL.md +19 -21
  37. package/packages/agent-skills/assets/workitems-process/references/ado-and-git.md +36 -3
  38. package/packages/agent-skills/assets/workitems-process/references/evidence.md +4 -4
  39. package/packages/agent-skills/assets/write-feature/SKILL.md +4 -5
  40. package/packages/agent-skills/dist/deploy.d.ts +45 -0
  41. package/packages/agent-skills/dist/deploy.d.ts.map +1 -1
  42. package/packages/agent-skills/dist/deploy.js +167 -3
  43. package/packages/agent-skills/dist/deploy.js.map +1 -1
  44. package/packages/agent-skills/dist/index.d.ts +1 -1
  45. package/packages/agent-skills/dist/index.d.ts.map +1 -1
  46. package/packages/agent-skills/dist/index.js +1 -1
  47. package/packages/agent-skills/dist/index.js.map +1 -1
  48. package/packages/agent-skills/package.json +1 -1
  49. package/packages/agent-skills/src/deploy.ts +241 -3
  50. package/packages/agent-skills/src/index.ts +10 -1
  51. package/packages/azdo/README.md +13 -4
  52. package/packages/azdo/bunfig.toml +6 -0
  53. package/packages/azdo/package.json +1 -1
  54. package/packages/azdo/src/azdo-attachments.ts +2 -1
  55. package/packages/azdo/src/azdo-pr.ts +182 -6
  56. package/packages/azdo/src/azdo-wit.ts +290 -41
  57. package/packages/azdo/src/cli.ts +79 -12
  58. package/packages/azdo/src/lib/client.ts +88 -16
  59. package/packages/azdo/src/mcp-server.ts +75 -10
  60. package/packages/azdo/src/tool-dispatch.ts +61 -26
  61. package/packages/fleet/src/install-adl-package.ts +4 -3
  62. package/packages/repo-controls/assets/promote.ts +1 -0
  63. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/docs/okf_profile/fixtures/okf-profile-untyped/docs/research/no-type.md +1 -1
  64. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/docs/okf_profile/fixtures/okf-profile-untyped/docs/research/typed-experiment.md +1 -1
  65. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/docs/okf_profile/fixtures/okf-profile-untyped/docs/research/typed-research.md +1 -1
  66. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/docs/okf_profile/fixtures/okf-research/docs/research/extra-key.md +1 -1
  67. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/docs/okf_profile/fixtures/okf-research/docs/research/extra-keys.md +1 -1
  68. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/docs/okf_profile/fixtures/okf-research/docs/research/missing-created.md +1 -1
  69. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/docs/okf_profile/fixtures/okf-research/docs/research/missing-description.md +1 -1
  70. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/docs/okf_profile/fixtures/okf-research/docs/research/missing-last-update.md +1 -1
  71. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/docs/okf_profile/fixtures/okf-research/docs/research/missing-status.md +1 -1
  72. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/docs/okf_profile/fixtures/okf-research/docs/research/missing-title.md +1 -1
  73. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/docs/okf_profile/fixtures/okf-research/docs/research/optional-keys.md +1 -1
  74. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/docs/okf_profile/fixtures/okf-research/docs/research/research-ok.md +1 -1
  75. package/packages/repo-controls/package.json +1 -1
  76. package/packages/repo-controls/src/config.ts +21 -2
  77. package/packages/repo-controls/src/doctor.ts +9 -14
  78. package/packages/repo-controls/src/findings-ratchet.ts +12 -0
  79. package/packages/repo-controls/src/hook.ts +61 -4
@@ -14,12 +14,12 @@ Part of [`workitems-process`](../SKILL.md). Tags: **[pending X]** = change row `
14
14
  |---|---|---|
15
15
  | Sub-agent report | the sub-agent returns it; the **lead** posts it | item comment (Feature comment for the Feature-final and finalize lanes) |
16
16
  | Run report, planning and implementation | the lead (`planner`, `lead`) | one comment as its last action: on the Feature, or on the Bug in a per-Bug run |
17
- | Run report, `workitem-triage` | `triager` | the activity log (`adl activity add`, pending A1) plus one comment on each touched item |
18
- | PR body | the lead; on an implementation PR the text comes from `writer` | the PR, five sections ([`ado-and-git.md` § Git](ado-and-git.md#7-git)) |
17
+ | Run report, `workitem-triage` | `triager` | the activity log (`adl activity add`) plus one comment on each touched item |
18
+ | PR body | the lead; on an implementation PR the text comes from `writer` | the PR |
19
19
  | Plan snapshot, implementation report | content from the lead; attached by `pr_create_or_update` | Feature attachments ([`ado-and-git.md` § Plan files](ado-and-git.md#4-plan-files)) |
20
20
  | Review findings | review sub-agents via the lead | item comments and the implementation report; never PR threads or votes |
21
21
 
22
- - Reading earlier comments needs **T1 (pending)**. A resumed run that cannot read them works from the board states, `git log` and the PR, and re-runs any verify or review whose head is not the current head.
22
+ - Reading earlier comments needs **T1 (pending)**. A resumed run that cannot read them works from the board states and the PR, and re-runs any verify or review whose head is not the current head.
23
23
  - Evidence never holds secrets: links, repo-relative paths, commands with exit codes, run ids, SHAs.
24
24
 
25
25
  ## Sub-agent report (the common shape)
@@ -27,7 +27,7 @@ Part of [`workitems-process`](../SKILL.md). Tags: **[pending X]** = change row `
27
27
  ````yaml
28
28
  lane: validate | design-update | implement | fix-ci | verify | verify-final | review-code | review-architecture | finalize | review-plan-architect | review-plan-critic
29
29
  target: <item id | feature id>
30
- base_sha: <origin/integration sha>
30
+ base_sha: <integration base sha>
31
31
  head_sha: <worktree HEAD the report applies to; plan reviews name revision N>
32
32
  verdict: <set per lane, below>
33
33
  findings: # required for every non-pass verdict
@@ -28,9 +28,8 @@ Load `workitems-process` first. This card adds only what the live Feature sessio
28
28
 
29
29
  ## Preconditions
30
30
 
31
- 1. `adl id whoami` reports `agent-tarun`. Mismatch → stop and say so.
32
- 2. You are in a checkout of the repo that will hold the plan, `origin/integration` fetched, clean tree.
33
- 3. The human gave an Epic id. Confirm it parents a Feature: a wrong-typed parent is refused by name at create. Do not read or edit the Epic.
31
+ 1. You are in a checkout of the repo that will hold the plan, the integration base is current, clean tree.
32
+ 2. The human gave an Epic id. Confirm it parents a Feature: a wrong-typed parent is refused by name at create. Do not read or edit the Epic.
34
33
 
35
34
  ## Procedure
36
35
 
@@ -39,13 +38,13 @@ Ask **one question at a time**. Lead with what you already know.
39
38
  1. **Listen.** Take the human's words. Do not rewrite, extend or "improve" them. Do not add a solution.
40
39
  2. **Fill gaps, not prose.** For each required section the human left empty (`## Why`, `## Outcome`, `## Constraints`, `## Non-goals`), ask for it. `## Open questions` is optional; add it only if the human has some.
41
40
  3. **Predecessors.** List candidate Features (`workitem_list_or_get --type Feature`) and let the human pick. A Feature needs at least 1 predecessor Feature; only the very first has none. The human says which case applies; you do not infer it. Enforcement is soft then hard: pending L2 in adl-agent-control.
42
- 4. **Allocate the Feature on the board first.** `workitem_create_or_update --type Feature --title "<title>" --parent-id <epic> --predecessors <ids> --description "<Why, Outcome, Constraints, Non-goals>"`. State stays New (the tool refuses any other create state: pending F3). Read it back: type Feature, state New, parent = the Epic, predecessors present. A refusal is the answer: report the exact text, stop, create nothing.
41
+ 4. **Allocate the Feature on the board first.** `workitem_create_or_update_feature --title "<title>" --parent-id <epic> --predecessors <ids> --description "<Why, Outcome, Constraints, Non-goals>" --priority <1|2|3|4>`. State stays New (the tool refuses any other create state: pending F3). Mandatory at create: `title`, `parentId` (Epic), `description` (must carry the four intent.md headings `## Why` / `## Outcome` / `## Constraints` / `## Non-goals`), and `priority` ∈ `{1, 2, 3, 4}` (1=Very High, 2=High, 3=Medium, 4=Low). State-conditional gate — when moving off `New` (e.g. to `In Progress`), the call also requires `acceptanceCriteria` plus the three plan fields (`--plan-revision`, `--plan-hash`, `--baseline-sha`); create at `New` does not. Read it back: type Feature, state New, parent = the Epic, predecessors present. A refusal is the answer: report the exact text, stop, create nothing.
43
42
  - **Description = copy of `intent.md`.** Pass the human's own `## Why`, `## Outcome`, `## Constraints`, `## Non-goals` text, verbatim and identical to what step 5 writes, as `--description` at create. Written once, here. Agents never edit it afterwards, the same as `intent.md`. The approved plan lives in the `plan-r<N>-<sha7>.md` attachment, not in the Description.
44
43
  - Do not touch Features 548-554 ("Fixes to closed Features"); their description is already set.
45
44
  - Never create an Epic. Never set `epic:` from tool output; it is the human's value.
46
45
  5. **Write `plans/features/az<id>-<slug>/intent.md`.** The id is allocated before the file exists. Layout below. No other file in the folder.
47
46
  6. **Read it back to the human.** Commit only after an explicit yes. After that, agents never edit `intent.md`; only the human does.
48
- 7. **Land it.** An ordinary docs change. You create the branch `docs/az<id>-<slug>` from `origin/integration`: the one exception to "agents never create a branch" ([ado-and-git.md](../workitems-process/references/ado-and-git.md#7-git)). Add the `plans/LEDGER.md` row `az<id>-intent` ([LEDGER](../workitems-process/references/ado-and-git.md#4-plan-files)). Commit `docs(plans): add intent for az<id> <slug>`. Push with plain `git`. Open the PR to `integration` with `pr_create_or_update`, with the five PR body sections ([ado-and-git.md](../workitems-process/references/ado-and-git.md#7-git)); `## Test plan` and `## Security impact considered` say "none (docs-only)". The branch has no `-plan` suffix and the Feature has no item at Approved or later (PBIs the human already made sit at New), so this is an ordinary PR: the tool links nothing, moves nothing, attaches nothing, and it needs no implementation report ([PR wiring](../workitems-process/references/ado-and-git.md#6-pr-wiring)). Never rebase or force-push. No reviewer, no vote ([Human gates](../workitems-process/SKILL.md#human-gates)).
47
+ 7. **Land it.** An ordinary docs change. You create the intent branch from the integration base: the one exception to "agents never create a branch." Add the `plans/LEDGER.md` row `az<id>-intent`. Commit `docs(plans): add intent for az<id> <slug>`. Push. Open the PR with `pr_create_or_update`, with the five PR body sections (Summary, Why, Changes, Test plan, Security impact considered); `## Test plan` and `## Security impact considered` say "none (docs-only)". The branch is not the planning branch and the Feature has no item at Approved or later (PBIs the human already made sit at New), so this is an ordinary PR: the tool links nothing, moves nothing, attaches nothing, and it needs no implementation report. Never rebase or force-push. No reviewer, no vote ([Human gates](../workitems-process/SKILL.md#human-gates)).
49
48
  8. **Stop.** Report: Feature URL, branch, PR URL. Say the Feature is at New and the planning trigger ([Targets and triggers](../workitems-process/SKILL.md#targets-and-triggers)) fires on it once the PR has merged. Do not start planning.
50
49
 
51
50
  ## `intent.md` layout
@@ -6,6 +6,16 @@ export interface DeploySkillsOptions {
6
6
  readonly profile?: DeployProfile;
7
7
  /** Computes the exact same written/unchanged/removed/conflicts/retiredRemovals result without writing anything (independent review, 2026-09-29, finding 6). */
8
8
  readonly dryRun?: boolean;
9
+ /**
10
+ * When set, deploy only the named surface (profile.surfaces[].name) —
11
+ * the deploy half of the per-surface knob (az567). Other surfaces are
12
+ * left untouched: their files are not written, their conflicts are not
13
+ * reported, their retired-folder cleanup does not run. The deploy
14
+ * profile's `retired` list is the closed set of "skill folders no
15
+ * surface reads any more"; for surface-prepare this list is also
16
+ * filtered to the active surfaces.
17
+ */
18
+ readonly surfaceFilter?: string;
9
19
  }
10
20
  export interface SkillConflict {
11
21
  readonly folder: string;
@@ -34,5 +44,40 @@ export interface DeploySkillsResult {
34
44
  */
35
45
  export declare function folderIdenticalToAsset(skillDirAbs: string, assetDirAbs: string, sourceFiles: readonly string[]): boolean;
36
46
  export declare function removeEmptyParents(root: string, dir: string): void;
47
+ export interface SkillRefusal {
48
+ readonly folder: string;
49
+ readonly skill: string;
50
+ /** Repo-relative posix path to the entry the primitive refused to remove. */
51
+ readonly path: string;
52
+ /** Human-readable reason the entry was refused. */
53
+ readonly reason: string;
54
+ }
55
+ export interface RemoveDeployedSkillFoldersOptions {
56
+ readonly assetsDir: string;
57
+ readonly targetRepo: string;
58
+ /** Defaults to loadProfile() (the package's own deploy-profile.json) — pass explicitly when the caller has already resolved real on-disk paths (see profile.ts's header). */
59
+ readonly profile?: DeployProfile;
60
+ /** When set, only the skill folders for this surface (profile.surfaces[].name) are in scope. */
61
+ readonly surfaceFilter?: string;
62
+ /** When set, only this skill id (assets/ skill folder name) is in scope. */
63
+ readonly skillFilter?: string;
64
+ /** Computes the exact same removed/absent/refused result without unlinking anything. */
65
+ readonly dryRun?: boolean;
66
+ }
67
+ export interface RemoveDeployedSkillFoldersResult {
68
+ /** Repo-relative posix paths the primitive actually removed (or would have, in --dry-run). Sorted, deduplicated. */
69
+ readonly removed: readonly string[];
70
+ /** (surface, skill) pairs the deploy profile resolves to that are in scope but were already absent on disk. Sorted, deduplicated, "<folder>/<skill>". */
71
+ readonly absent: readonly string[];
72
+ /** Entries the manifest did not record but which live inside a managed skill dir or surface folder — never removed, always reported. */
73
+ readonly refused: readonly SkillRefusal[];
74
+ }
75
+ /**
76
+ * The deployed-skill removal primitive (az696). Removes every file the
77
+ * deploy manifest records, restricted by `surfaceFilter`/`skillFilter`
78
+ * (intersection) and the repo's `[assets.skills]` subset. Idempotent: a
79
+ * second call with the same arguments reports every target in `absent`.
80
+ */
81
+ export declare function removeDeployedSkillFolders(options: RemoveDeployedSkillFoldersOptions): RemoveDeployedSkillFoldersResult;
37
82
  export declare function deploySkills(options: DeploySkillsOptions): DeploySkillsResult;
38
83
  //# sourceMappingURL=deploy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../src/deploy.ts"],"names":[],"mappings":"AAiCA,OAAO,EAAE,KAAK,aAAa,EAA+B,MAAM,cAAc,CAAC;AAI/E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,6KAA6K;IAC7K,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IACjC,+JAA+J;IAC/J,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,SAAS,aAAa,EAAE,CAAC;IAC7C,8JAA8J;IAC9J,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CASxH;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAWlE;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,kBAAkB,CA2M7E"}
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../src/deploy.ts"],"names":[],"mappings":"AAiCA,OAAO,EAAE,KAAK,aAAa,EAA+B,MAAM,cAAc,CAAC;AAI/E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,6KAA6K;IAC7K,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IACjC,+JAA+J;IAC/J,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;;;;OAQG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,SAAS,aAAa,EAAE,CAAC;IAC7C,8JAA8J;IAC9J,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CASxH;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAWlE;AA0BD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,6EAA6E;IAC7E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,6KAA6K;IAC7K,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IACjC,gGAAgG;IAChG,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,4EAA4E;IAC5E,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,wFAAwF;IACxF,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,gCAAgC;IAC/C,oHAAoH;IACpH,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,yJAAyJ;IACzJ,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,wIAAwI;IACxI,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;CAC3C;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,iCAAiC,GAAG,gCAAgC,CAoIvH;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,kBAAkB,CA4O7E"}
@@ -64,6 +64,136 @@ export function removeEmptyParents(root, dir) {
64
64
  current = dirname(current);
65
65
  }
66
66
  }
67
+ /**
68
+ * The deployed-skill removal primitive (az696). Removes every file the
69
+ * deploy manifest records, restricted by `surfaceFilter`/`skillFilter`
70
+ * (intersection) and the repo's `[assets.skills]` subset. Idempotent: a
71
+ * second call with the same arguments reports every target in `absent`.
72
+ */
73
+ export function removeDeployedSkillFolders(options) {
74
+ const { assetsDir, targetRepo } = options;
75
+ const dryRun = options.dryRun === true;
76
+ if (!existsSync(assetsDir) || !statSync(assetsDir).isDirectory()) {
77
+ throw new Error(`agent-skills assets directory not found: ${assetsDir}`);
78
+ }
79
+ if (!existsSync(targetRepo) || !statSync(targetRepo).isDirectory()) {
80
+ throw new Error(`uninstall target is not a directory: ${targetRepo}`);
81
+ }
82
+ const profile = options.profile ?? loadProfile();
83
+ const availableSkills = listSourceSkillNames(assetsDir);
84
+ const selection = resolveSkillSelection(targetRepo, availableSkills);
85
+ if (!selection.ok)
86
+ throw new Error(selection.error);
87
+ const selectedSkills = [...new Set(selection.skills)].sort();
88
+ const manifest = readManifest(targetRepo);
89
+ // Build the in-scope (surface, skill) set, applying both filters as
90
+ // intersection. An unknown surfaceFilter or skillFilter is silently
91
+ // out-of-scope — the caller (the CLI) validates the names first and
92
+ // the primitive trusts its inputs.
93
+ const inScopeSurfaces = profile.surfaces.filter((surface) => options.surfaceFilter === undefined || surface.name === options.surfaceFilter);
94
+ const inScopeSkills = selectedSkills.filter((skill) => options.skillFilter === undefined || skill === options.skillFilter);
95
+ // Build the manifest-ownership set restricted to the in-scope
96
+ // (surface, skill) pairs. Everything the manifest records under those
97
+ // pairs is removable; everything else is not in scope.
98
+ const ownedPaths = new Set();
99
+ for (const surface of inScopeSurfaces) {
100
+ for (const skill of inScopeSkills) {
101
+ const prefix = `${surface.folder}/${skill}/`;
102
+ for (const file of manifest.files) {
103
+ if (file.startsWith(prefix))
104
+ ownedPaths.add(file);
105
+ }
106
+ }
107
+ }
108
+ const removed = [];
109
+ for (const relPath of [...ownedPaths].sort()) {
110
+ const absolute = join(targetRepo, relPath);
111
+ if (existsSync(absolute)) {
112
+ if (!dryRun) {
113
+ unlinkSync(absolute);
114
+ removeEmptyParents(targetRepo, dirname(absolute));
115
+ }
116
+ }
117
+ removed.push(relPath);
118
+ }
119
+ // Safety check: every path inside a managed skill dir or surface
120
+ // folder that is NOT in the manifest is reported as a refusal. The
121
+ // surface folder itself (e.g. `.claude/skills`) is reported when it
122
+ // exists and is not under any managed skill dir — the agent never
123
+ // removes the surface root on its own, only the skill dirs under it.
124
+ const refused = [];
125
+ for (const surface of inScopeSurfaces) {
126
+ const surfaceAbs = join(targetRepo, surface.folder);
127
+ if (!existsSync(surfaceAbs))
128
+ continue;
129
+ const inScope = options.skillFilter === undefined
130
+ ? inScopeSkills
131
+ : inScopeSkills.filter((skill) => skill === options.skillFilter);
132
+ // Hand-authored skill dirs the manifest did not write.
133
+ for (const name of directoryNames(surfaceAbs)) {
134
+ if (inScope.includes(name))
135
+ continue;
136
+ // A skill the manifest owns under this surface is in-scope; an
137
+ // unrecorded same-name dir is user-authored and refused.
138
+ const isManaged = manifest.files.some((file) => file.startsWith(`${surface.folder}/${name}/`));
139
+ if (isManaged)
140
+ continue; // already handled in the removal pass above
141
+ refused.push({
142
+ folder: surface.folder,
143
+ skill: name,
144
+ path: `${surface.folder}/${name}`,
145
+ reason: "folder is not recorded in the deploy manifest; refusing to remove user-authored content",
146
+ });
147
+ }
148
+ // For each in-scope skill dir, any file inside that is not in the
149
+ // manifest is reported and never removed.
150
+ for (const skill of inScope) {
151
+ const skillDirAbs = join(surfaceAbs, skill);
152
+ if (!existsSync(skillDirAbs))
153
+ continue;
154
+ const isManaged = manifest.files.some((file) => file.startsWith(`${surface.folder}/${skill}/`));
155
+ if (!isManaged)
156
+ continue; // already refused above as user-authored
157
+ for (const relFile of walkFiles(skillDirAbs)) {
158
+ const relPath = `${surface.folder}/${skill}/${relFile}`;
159
+ if (ownedPaths.has(relPath))
160
+ continue;
161
+ refused.push({
162
+ folder: surface.folder,
163
+ skill,
164
+ path: relPath,
165
+ reason: "file is inside a managed skill dir but is not recorded in the deploy manifest; refusing to remove user-authored content",
166
+ });
167
+ }
168
+ }
169
+ }
170
+ refused.sort((a, b) => a.path.localeCompare(b.path));
171
+ // The "absent" report: every (surface, skill) pair the deploy profile
172
+ // resolves to, filtered to in-scope, that has no files on disk and no
173
+ // manifest record. This is the idempotency signal a second run will
174
+ // see.
175
+ const absent = [];
176
+ for (const surface of inScopeSurfaces) {
177
+ for (const skill of inScopeSkills) {
178
+ const skillDirAbs = join(targetRepo, surface.folder, skill);
179
+ const prefix = `${surface.folder}/${skill}/`;
180
+ const hasManifestEntry = manifest.files.some((file) => file.startsWith(prefix));
181
+ if (!hasManifestEntry && !existsSync(skillDirAbs)) {
182
+ absent.push(`${surface.folder}/${skill}`);
183
+ }
184
+ }
185
+ }
186
+ absent.sort();
187
+ // Rewrite the manifest to drop the paths we removed (and only those).
188
+ // The surviving set keeps every path the manifest recorded that is
189
+ // outside the in-scope (surface, skill) pairs — those belong to other
190
+ // surfaces/skills the user did not ask to uninstall.
191
+ if (!dryRun) {
192
+ const surviving = manifest.files.filter((file) => !ownedPaths.has(file));
193
+ writeManifest(targetRepo, surviving);
194
+ }
195
+ return { removed: removed.sort(), absent, refused };
196
+ }
67
197
  export function deploySkills(options) {
68
198
  const { assetsDir, targetRepo } = options;
69
199
  const dryRun = options.dryRun === true;
@@ -133,6 +263,11 @@ export function deploySkills(options) {
133
263
  }
134
264
  };
135
265
  for (const surface of profile.surfaces) {
266
+ // az567 surfaceFilter: skip non-target surfaces entirely. The
267
+ // legacy-takeover pass for the non-target surface is irrelevant
268
+ // when only one surface is being deployed.
269
+ if (options.surfaceFilter !== undefined && surface.name !== options.surfaceFilter)
270
+ continue;
136
271
  for (const skill of selectedSkills) {
137
272
  const skillDirRel = `${surface.folder}/${skill}`;
138
273
  const skillDirAbs = join(targetRepo, skillDirRel);
@@ -151,11 +286,22 @@ export function deploySkills(options) {
151
286
  }
152
287
  legacyRetired(surface.folder, true);
153
288
  }
154
- for (const folder of retiredFolders(profile))
289
+ for (const folder of retiredFolders(profile)) {
290
+ // az567 surfaceFilter: retired-folder cleanup is also filtered to
291
+ // the active surfaces. A non-target surface's retired folder is
292
+ // left exactly as found.
293
+ if (options.surfaceFilter !== undefined) {
294
+ const isTargetActive = profile.surfaces.some((s) => s.folder === folder && s.name === options.surfaceFilter);
295
+ if (!isTargetActive)
296
+ continue;
297
+ }
155
298
  legacyRetired(folder, false);
299
+ }
156
300
  }
157
301
  const manifestFiles = new Set([...manifest.files, ...takeoverFiles]);
158
302
  const adopted = [];
303
+ // Total over `selectedSkills`: every loop below iterates that same array, so
304
+ // `sourceFilesBySkill.get(skill)` is never undefined and needs no fallback.
159
305
  const sourceFilesBySkill = new Map();
160
306
  for (const skill of selectedSkills)
161
307
  sourceFilesBySkill.set(skill, walkFiles(join(assetsDir, skill)));
@@ -164,6 +310,11 @@ export function deploySkills(options) {
164
310
  const conflicts = [];
165
311
  const keptPaths = new Set();
166
312
  for (const surface of profile.surfaces) {
313
+ // az567 surfaceFilter: only iterate the named surface. Other
314
+ // surfaces' deploy paths, conflicts, and removal decisions are out
315
+ // of scope and never appear in this result.
316
+ if (options.surfaceFilter !== undefined && surface.name !== options.surfaceFilter)
317
+ continue;
167
318
  for (const skill of selectedSkills) {
168
319
  const skillDirRel = `${surface.folder}/${skill}`;
169
320
  const skillDirAbs = join(targetRepo, skillDirRel);
@@ -172,7 +323,7 @@ export function deploySkills(options) {
172
323
  // An unrecorded folder whose whole tree is byte-identical to the asset
173
324
  // is adopted: its files fall through to the write loop below as
174
325
  // unchanged and so land in the manifest. Anything else stays a conflict.
175
- if (skillDirExists && !managedByUs && folderIdenticalToAsset(skillDirAbs, join(assetsDir, skill), sourceFilesBySkill.get(skill) ?? [])) {
326
+ if (skillDirExists && !managedByUs && folderIdenticalToAsset(skillDirAbs, join(assetsDir, skill), sourceFilesBySkill.get(skill))) {
176
327
  managedByUs = true;
177
328
  adopted.push(skillDirRel);
178
329
  }
@@ -185,7 +336,7 @@ export function deploySkills(options) {
185
336
  });
186
337
  continue; // never write into it, never claim its files in the manifest
187
338
  }
188
- for (const relFile of sourceFilesBySkill.get(skill) ?? []) {
339
+ for (const relFile of sourceFilesBySkill.get(skill)) {
189
340
  const targetRel = `${skillDirRel}/${relFile}`;
190
341
  keptPaths.add(targetRel);
191
342
  const targetAbs = join(targetRepo, targetRel);
@@ -211,6 +362,13 @@ export function deploySkills(options) {
211
362
  // already satisfy that by construction.
212
363
  if (!profile.surfaces.some((surface) => relPath.startsWith(`${surface.folder}/`)))
213
364
  continue;
365
+ // az567 surfaceFilter: paths under a non-target surface are not in
366
+ // scope and must not be removed during a per-surface deploy.
367
+ if (options.surfaceFilter !== undefined) {
368
+ const inTargetSurface = profile.surfaces.some((surface) => surface.name === options.surfaceFilter && relPath.startsWith(`${surface.folder}/`));
369
+ if (!inTargetSurface)
370
+ continue;
371
+ }
214
372
  const absolute = join(targetRepo, relPath);
215
373
  if (existsSync(absolute)) {
216
374
  if (!dryRun) {
@@ -234,6 +392,12 @@ export function deploySkills(options) {
234
392
  const retiredRemovals = [];
235
393
  const availableSkillSet = new Set(availableSkills);
236
394
  for (const folder of retiredFolders(profile)) {
395
+ // az567 surfaceFilter: only clean up retired folders that are NOT
396
+ // tied to a non-target surface. A retired folder is per-profile
397
+ // (the active-surface filters above do not reduce the retired list);
398
+ // when a surfaceFilter is set, retired-folder cleanup runs the same
399
+ // way it does for a full deploy, because retired folders are not
400
+ // tied to a particular active surface.
237
401
  const folderAbs = join(targetRepo, folder);
238
402
  if (!existsSync(folderAbs))
239
403
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../src/deploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../src/deploy.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export { deploySkills, type DeploySkillsOptions, type DeploySkillsResult, type SkillConflict } from "./deploy.js";
1
+ export { deploySkills, type DeploySkillsOptions, type DeploySkillsResult, type SkillConflict, removeDeployedSkillFolders, type RemoveDeployedSkillFoldersOptions, type RemoveDeployedSkillFoldersResult, type SkillRefusal, } from "./deploy.js";
2
2
  export { doctorAssets, doctorDeployment, type DoctorAssetsResult, type DoctorDeploymentOptions, type DoctorResult, type DoctorIssue, } from "./doctor.js";
3
3
  export { formatSkillLine, listSkills, type ListSkillsOptions, type SkillListing, type SkillListingEntry, type SkillOwner } from "./list.js";
4
4
  export { manifestPathFor, MANIFEST_RELATIVE_PATH, readManifest, type SkillManifest } from "./manifest.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,KAAK,kBAAkB,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAClH,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,YAAY,EACjB,KAAK,WAAW,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,KAAK,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5I,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAC1G,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,WAAW,EACX,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,qBAAqB,EAAE,KAAK,oBAAoB,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC/I,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,KAAK,cAAc,GACpB,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,0BAA0B,EAC1B,KAAK,iCAAiC,EACtC,KAAK,gCAAgC,EACrC,KAAK,YAAY,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,YAAY,EACjB,KAAK,WAAW,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,KAAK,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5I,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAC1G,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,WAAW,EACX,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,qBAAqB,EAAE,KAAK,oBAAoB,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC/I,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,KAAK,cAAc,GACpB,MAAM,iBAAiB,CAAC"}
@@ -1,4 +1,4 @@
1
- export { deploySkills } from "./deploy.js";
1
+ export { deploySkills, removeDeployedSkillFolders, } from "./deploy.js";
2
2
  export { doctorAssets, doctorDeployment, } from "./doctor.js";
3
3
  export { formatSkillLine, listSkills } from "./list.js";
4
4
  export { manifestPathFor, MANIFEST_RELATIVE_PATH, readManifest } from "./manifest.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAyE,MAAM,aAAa,CAAC;AAClH,OAAO,EACL,YAAY,EACZ,gBAAgB,GAKjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAE,UAAU,EAAsF,MAAM,WAAW,CAAC;AAC5I,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,YAAY,EAAsB,MAAM,eAAe,CAAC;AAC1G,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,WAAW,EACX,cAAc,EAId,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,qBAAqB,EAAqD,MAAM,mBAAmB,CAAC;AAC/I,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,GAGpB,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAIZ,0BAA0B,GAI3B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,YAAY,EACZ,gBAAgB,GAKjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAE,UAAU,EAAsF,MAAM,WAAW,CAAC;AAC5I,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,YAAY,EAAsB,MAAM,eAAe,CAAC;AAC1G,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,WAAW,EACX,cAAc,EAId,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,qBAAqB,EAAqD,MAAM,mBAAmB,CAAC;AAC/I,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,GAGpB,MAAM,iBAAiB,CAAC"}
@@ -15,7 +15,7 @@
15
15
  "scripts": {
16
16
  "build": "rm -rf dist && tsc -p tsconfig.build.json",
17
17
  "typecheck": "tsc -p tsconfig.json --noEmit",
18
- "test": "bun run typecheck && bun test --coverage"
18
+ "test": "bun run typecheck && bun test --isolate --coverage --timeout 30000"
19
19
  },
20
20
  "dependencies": {
21
21
  "@iarna/toml": "^2.2.5",