@dtlabs/ai-toolkit 0.10.1 → 0.12.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.
Files changed (49) hide show
  1. package/CHANGELOG.md +108 -0
  2. package/bin/cli.js +1457 -143
  3. package/docs/installation.md +74 -8
  4. package/docs/reference.md +60 -12
  5. package/lib/asset-catalog.js +52 -0
  6. package/lib/execution-ledger.js +515 -0
  7. package/package.json +9 -7
  8. package/{.claude → src/claude}/agents/define-feature.md +36 -60
  9. package/{.claude → src/claude}/agents/install-toolkit.md +30 -103
  10. package/{.claude → src/claude}/scripts/wb-render.js +101 -2
  11. package/{.claude → src/claude}/scripts/wb-validate.js +32 -2
  12. package/{.claude → src/claude}/skills/implement-feature/SKILL.md +4 -2
  13. package/{.claude → src/claude}/workflows/am-phase1.js +9 -12
  14. package/{.claude → src/claude}/workflows/pm-phase1.js +25 -75
  15. package/{.claude → src/claude}/workflows/pm-phase2.js +57 -108
  16. package/{.claude → src/claude}/workflows/pm-phase3.js +162 -75
  17. package/.claude/scripts/.gitkeep +0 -0
  18. /package/{.claude → src/claude}/agents/concurrency-safety-assessment.md +0 -0
  19. /package/{.claude → src/claude}/agents/dependency-injection-refactoring.md +0 -0
  20. /package/{.claude → src/claude}/agents/dependency-supply-chain-security.md +0 -0
  21. /package/{.claude → src/claude}/agents/developer-backend.md +0 -0
  22. /package/{.claude → src/claude}/agents/developer-frontend.md +0 -0
  23. /package/{.claude → src/claude}/agents/developer-testing.md +0 -0
  24. /package/{.claude → src/claude}/agents/domain-model-refactoring.md +0 -0
  25. /package/{.claude → src/claude}/agents/generate-requirements.md +0 -0
  26. /package/{.claude → src/claude}/agents/generate-tech-spec.md +0 -0
  27. /package/{.claude → src/claude}/agents/generate-work-breakdown.md +0 -0
  28. /package/{.claude → src/claude}/agents/generic-software-assessment.md +0 -0
  29. /package/{.claude → src/claude}/agents/god-class-decomposition.md +0 -0
  30. /package/{.claude → src/claude}/agents/init-agents-md.md +0 -0
  31. /package/{.claude → src/claude}/agents/intervention-documentation-standard.md +0 -0
  32. /package/{.claude → src/claude}/agents/layered-architecture-assessment.md +0 -0
  33. /package/{.claude → src/claude}/agents/review-solution.md +0 -0
  34. /package/{.claude → src/claude}/agents/security-hardening.md +0 -0
  35. /package/{.claude → src/claude}/agents/validate-feature-docs.md +0 -0
  36. /package/{.claude → src/claude}/agents/validate-work-breakdown-semantic.md +0 -0
  37. /package/{.claude → src/claude}/commands/assessment-status.md +0 -0
  38. /package/{.claude → src/claude}/commands/check-docs.md +0 -0
  39. /package/{.claude → src/claude}/commands/check-interventions.md +0 -0
  40. /package/{.claude → src/claude}/commands/feature-status.md +0 -0
  41. /package/{.claude → src/claude}/commands/next-intervention.md +0 -0
  42. /package/{.claude → src/claude}/commands/next-task.md +0 -0
  43. /package/{.claude → src/claude}/commands/pr-description.md +0 -0
  44. /package/{.claude → src/claude}/skills/assess-codebase/SKILL.md +0 -0
  45. /package/{.claude → src/claude}/skills/define-feature/SKILL.md +0 -0
  46. /package/{.claude → src/claude}/skills/hi-gaia/SKILL.md +0 -0
  47. /package/{.claude → src/claude}/skills/init-agents/SKILL.md +0 -0
  48. /package/{.claude → src/claude}/skills/install-toolkit/SKILL.md +0 -0
  49. /package/{.claude → src/claude}/workflows/am-phase2.js +0 -0
package/CHANGELOG.md CHANGED
@@ -1,4 +1,112 @@
1
1
  ## 0.1.4 (2026-07-21)
2
+ ## [0.12.0](https://github.com/dtlab-tech/ai-toolkit/compare/v0.11.0...v0.12.0) (2026-09-04)
3
+
4
+
5
+ ### Features
6
+
7
+ * add atomic temp+fsync+rename ledger I/O primitives ([846e911](https://github.com/dtlab-tech/ai-toolkit/commit/846e9110c7c3df52168649346246eedf9fd9a12f))
8
+ * add close() with resume-safe token preservation ([fbd6d3b](https://github.com/dtlab-tech/ai-toolkit/commit/fbd6d3b1114949aa509eb9f244943af1f30e5d0c))
9
+ * add deterministic features-root resolution and grammar ([a21b99c](https://github.com/dtlab-tech/ai-toolkit/commit/a21b99c0245a6b7a7010c2a93fc296ac10831fcf))
10
+ * add fail-closed corrupt-ledger backup handling ([87c2b06](https://github.com/dtlab-tech/ai-toolkit/commit/87c2b0679e083cc064eb00f9b70f920f9abd4f97))
11
+ * add fail() with clear never-opened rejection ([c24226d](https://github.com/dtlab-tech/ai-toolkit/commit/c24226d4f8700ce12233e0dea95ce4cc0542ca40))
12
+ * add ledger CLI argument validator ([825d4a7](https://github.com/dtlab-tech/ai-toolkit/commit/825d4a71a05ef14e0ed0e0206bd3efbb624a086d))
13
+ * add ledger CLI dispatcher wired to the module ([5658ec5](https://github.com/dtlab-tech/ai-toolkit/commit/5658ec583921ddca663221167f4c0d3c21f4c841))
14
+ * add ledger close subcommand with --tokens validation ([ff17cf1](https://github.com/dtlab-tech/ai-toolkit/commit/ff17cf186bae8c4d89225a2d000ce9a2c575ad4c))
15
+ * add ledger fail subcommand with fail-closed exit contract ([c71c9ad](https://github.com/dtlab-tech/ai-toolkit/commit/c71c9ad9d9078b35f74955c9b2ae03eb31ac9bdd))
16
+ * add ledger open subcommand with fail-closed exit contract ([6aa5c1f](https://github.com/dtlab-tech/ai-toolkit/commit/6aa5c1f301d9fb031ab05b8c0c2d62e0f8ecec3a))
17
+ * add ledger skip subcommand with fail-closed exit contract ([5e22856](https://github.com/dtlab-tech/ai-toolkit/commit/5e22856793add03e903653dec47f4a49f8adf6de))
18
+ * add O_EXCL lock with owner token and ABA-safe release ([9e4b774](https://github.com/dtlab-tech/ai-toolkit/commit/9e4b774e1c890c1120cf4933e697a5c9c4e497eb))
19
+ * add open() operation with JS-generated ISO timestamps ([11f7205](https://github.com/dtlab-tech/ai-toolkit/commit/11f72050c9d033944d568b859576387e8da04253))
20
+ * add POSIX shell quoting helper ([bf79da2](https://github.com/dtlab-tech/ai-toolkit/commit/bf79da28100b1a23b1c3e5e7c756074db6dbbf24))
21
+ * add resolve-features-root invocable command ([ab64250](https://github.com/dtlab-tech/ai-toolkit/commit/ab642505f8b682caa47b361b899d87ec8b0fa9d6))
22
+ * add skip() with atomic create-or-update semantics ([455deaf](https://github.com/dtlab-tech/ai-toolkit/commit/455deaf19f864b33a77f37e0539f2c09619296fa))
23
+ * add stale and orphan lock classification ([78fcf85](https://github.com/dtlab-tech/ai-toolkit/commit/78fcf85559af5e632bc760c2f7ef03fd419671ff))
24
+ * implement 128-bit collision-resistant operation_id ([926a38a](https://github.com/dtlab-tech/ai-toolkit/commit/926a38aa41e8bc9a216d5b6f365b8174f78ded75))
25
+ * scaffold lib/execution-ledger.js public API surface ([ba65c53](https://github.com/dtlab-tech/ai-toolkit/commit/ba65c53fc5e29bd028168de8f8379efd5cefbc01))
26
+
27
+
28
+ ### Bug Fixes
29
+
30
+ * **FTR-015:** stamp real package version in complete-install test fixtures (CI fix) ([c032ded](https://github.com/dtlab-tech/ai-toolkit/commit/c032ded8eb392f60e60ad36d5192b2a2dfe65fff))
31
+ * **pm-phase2:** derive featureDir with a separator-agnostic parser ([4ae54ed](https://github.com/dtlab-tech/ai-toolkit/commit/4ae54ed893d253882efa4247ae9d7adccbd60988))
32
+ * reclaim stale/orphan locks in _acquireLock (AC-08/AC-26) ([14d0deb](https://github.com/dtlab-tech/ai-toolkit/commit/14d0deb6b25759b912b44980c054ebe99c244f05))
33
+ * treat null/0/not_available tokens as unavailable in actuals reader ([7bf2c08](https://github.com/dtlab-tech/ai-toolkit/commit/7bf2c08af2158fe0b9a73bdf7ca6c33cdd673a48))
34
+ * treat null/0/not_available tokens as unavailable in pm-phase3 ([505edda](https://github.com/dtlab-tech/ai-toolkit/commit/505eddaf9ed0d63908ddc7f79f0444d5b285a28d))
35
+ * **wb-render:** preserve verification commands verbatim in Markdown ([b57e06c](https://github.com/dtlab-tech/ai-toolkit/commit/b57e06cacf99dc4f9c950509c9684eed1ea273fd))
36
+ * **wb-render:** render complete authoritative task details ([b696c12](https://github.com/dtlab-tech/ai-toolkit/commit/b696c12e8c7e5f0fb30e0681b2e6123fe8cb2501))
37
+ * **wb-validate:** treat escaped pipe (\|) as literal inside table cells ([c604810](https://github.com/dtlab-tech/ai-toolkit/commit/c60481021b5c7f4b6664952200d7022fc9e2767d))
38
+
39
+ ## [0.11.0](https://github.com/dtlab-tech/ai-toolkit/compare/v0.10.1...v0.11.0) (2026-08-26)
40
+
41
+
42
+ ### Features
43
+
44
+ * **FTR-015:** Claude source layout and runtime resolution ([b7b60c6](https://github.com/dtlab-tech/ai-toolkit/commit/b7b60c6f7518271696f39d2def778bfec1a514f8))
45
+ * **FTR-015:** INFRA-TASK-BE-01 — add lib/asset-catalog.js ([7e3c6f6](https://github.com/dtlab-tech/ai-toolkit/commit/7e3c6f6896cb38161669a85aa802a668ffba3c95))
46
+ * **FTR-015:** INFRA-TASK-BE-02 — add resolveClaudeRuntimeAsset() with Phase 0 validation ([c8c9d18](https://github.com/dtlab-tech/ai-toolkit/commit/c8c9d187fdc45dd44ea7d3e488700c83dd62cbef))
47
+ * **FTR-015:** US-02-TASK-BE-01 — migrate test files from .claude/scripts/tests/ to tests/ ([31463ae](https://github.com/dtlab-tech/ai-toolkit/commit/31463aef034830094cf2716e5a4610a7a2f61110))
48
+ * **FTR-015:** US-02-TASK-INFRA-01 — update jest.config.js testMatch for tests/ location ([8a07197](https://github.com/dtlab-tech/ai-toolkit/commit/8a071975a4faec78c2839bf617eaabbffc784929))
49
+ * **FTR-015:** US-02-TASK-INFRA-02 — update package.json test scripts for tests/ location ([43783aa](https://github.com/dtlab-tech/ai-toolkit/commit/43783aaac9f5ba4ed14ea527e6d4897fa8eef7dc))
50
+ * **FTR-015:** US-03-TASK-BE-01 — migrate runtime assets to src/claude/ ([2417538](https://github.com/dtlab-tech/ai-toolkit/commit/24175385ffce654531a15d9c3bfc80667d0f50dd))
51
+ * **FTR-015:** US-03-TASK-BE-02 — verify migration and fix test paths for src/claude/ ([518bd4a](https://github.com/dtlab-tech/ai-toolkit/commit/518bd4a69dbdea016d121e9cc8540eb6e2d8454e))
52
+ * **FTR-015:** US-04-TASK-INFRA-01 — update package.json files[] for src/claude/ ([fa56019](https://github.com/dtlab-tech/ai-toolkit/commit/fa56019aaaf0f8eac54d1050804de6fb1942065b))
53
+ * **FTR-015:** US-04-TASK-TEST-01 — add npm-pack-contents regression test ([03b8524](https://github.com/dtlab-tech/ai-toolkit/commit/03b852492fd1e7d8e860c2b70272c665436d3454))
54
+ * **FTR-015:** US-05-TASK-BE-01 — update expandMappings to read from asset catalog ([ea5487a](https://github.com/dtlab-tech/ai-toolkit/commit/ea5487a1914cc625bea89aa13132c9c2821b9f05))
55
+ * **FTR-015:** US-05-TASK-BE-02 — remove isDistributable and NEVER_COPY, use catalog positive-list ([0325084](https://github.com/dtlab-tech/ai-toolkit/commit/032508472220b29461f2bf3352966bd5eb1fa2cd))
56
+ * **FTR-015:** US-05-TASK-BE-03 — add validatePurityGuard() and validate-purity command ([91c7b33](https://github.com/dtlab-tech/ai-toolkit/commit/91c7b3348e68044990a55c631e4bef4ba49cd3c8))
57
+ * **FTR-015:** US-05-TASK-BE-04 — add --dry-run flag to install commands ([66dfe71](https://github.com/dtlab-tech/ai-toolkit/commit/66dfe710eb8f067d957b7bde638796f920d970b2))
58
+ * **FTR-015:** US-05-TASK-BE-05 — upgrade path with timestamp-prefixed trash directory ([15da88f](https://github.com/dtlab-tech/ai-toolkit/commit/15da88f3bd428b6fbc7187c56b74f543165258e4))
59
+ * **FTR-015:** US-05-TASK-INFRA-01 — add toolkit:validate-purity script and prepack hook ([eb31c1c](https://github.com/dtlab-tech/ai-toolkit/commit/eb31c1cca292a8c53f4b714afccfbef63fb4f0cd))
60
+ * **FTR-015:** US-05-TASK-TEST-01 — installer-dry-run.test.js; fix moveToTrash.test.js for timestamp paths ([5ef3137](https://github.com/dtlab-tech/ai-toolkit/commit/5ef3137dc1d9377f3f2ce9472e8f8cc3c5856b8c))
61
+ * **FTR-015:** US-05-TASK-TEST-02 — add purity-guard.test.js for validatePurityGuard() ([6d683bc](https://github.com/dtlab-tech/ai-toolkit/commit/6d683bc36c0aa0872c108ca6380fedee4bbe8693))
62
+ * **FTR-015:** US-06-TASK-BE-01 — add resolve-asset CLI command ([7b9eae7](https://github.com/dtlab-tech/ai-toolkit/commit/7b9eae7ea3d41cb9fbad2594c65c9d8c96d9dec6))
63
+ * **FTR-015:** US-06-TASK-BE-02 — add run-asset CLI command ([9bfa324](https://github.com/dtlab-tech/ai-toolkit/commit/9bfa3246c49e8bd9042cf45de5d0cfe6640c0b08))
64
+ * **FTR-015:** US-06-TASK-BE-03 — add list-assets CLI command ([24aece4](https://github.com/dtlab-tech/ai-toolkit/commit/24aece429deb2516c362cd6cea0fc15e64d0c2d2))
65
+ * **FTR-015:** US-06-TASK-BE-04 — update pm-phase2.js to use ai-toolkit run-asset ([cd858a7](https://github.com/dtlab-tech/ai-toolkit/commit/cd858a74284b150790aae2e85ee6b44212a1d448))
66
+ * **FTR-015:** US-06-TASK-TEST-01 — add resolve-asset-cli.test.js ([5ce2d50](https://github.com/dtlab-tech/ai-toolkit/commit/5ce2d505447a7c9dc33217fce1df34c41f588bc6))
67
+ * **FTR-015:** US-06-TASK-TEST-02 — add run-asset-cli.test.js ([07d6a66](https://github.com/dtlab-tech/ai-toolkit/commit/07d6a662b60233095e2fe8a6a9ea61314f7b1e17))
68
+ * **FTR-015:** US-06-TASK-TEST-03 — add list-assets-cli.test.js ([318d687](https://github.com/dtlab-tech/ai-toolkit/commit/318d68741f70a79ae8e7c4f12f245b1138ea221b))
69
+ * **FTR-015:** US-06-TASK-TEST-04 — add E2E resolution.test.js ([0d45550](https://github.com/dtlab-tech/ai-toolkit/commit/0d455505f5bbe7ab95248dda9f0c5b77b4bfd227))
70
+ * **FTR-015:** US-06-TASK-TEST-05 — add E2E workflow-facade.test.js ([7384e88](https://github.com/dtlab-tech/ai-toolkit/commit/7384e88e342128025211bb70ce1a256b7ea60fc8))
71
+ * **FTR-015:** US-07-TASK-BE-01 — add doctor resolution CLI command ([b1a97a2](https://github.com/dtlab-tech/ai-toolkit/commit/b1a97a2f652244f2bf6bd78b1e10251b6dfe3757))
72
+ * **FTR-015:** US-08-TASK-BE-01 — update am-phase1.js Discovery prompt to use list-assets ([f299b68](https://github.com/dtlab-tech/ai-toolkit/commit/f299b6836c6b5a13815f57282f8e476a2de319c0))
73
+ * **FTR-015:** US-08-TASK-BE-02 — update install-toolkit.md to delegate to ai-toolkit install ([e9f3cee](https://github.com/dtlab-tech/ai-toolkit/commit/e9f3ceeaf74f410cd0262d83af85f6fa90f53b54))
74
+ * **FTR-015:** US-08-TASK-INFRA-01 — add toolkit:dev-install-global script with dry-run preview ([c3519bd](https://github.com/dtlab-tech/ai-toolkit/commit/c3519bdf5cda686cdea62be2e57eebe20659b137))
75
+ * **FTR-015:** US-08-TASK-INFRA-02 — git rm --cached personal-config files ([6065f69](https://github.com/dtlab-tech/ai-toolkit/commit/6065f691d7aed4bff1640cce78b5c04dec1d2a56))
76
+ * **FTR-015:** US-08-TASK-INFRA-03 — add personal-config files to .gitignore ([60d263a](https://github.com/dtlab-tech/ai-toolkit/commit/60d263a113416713d2a691ea05e9a8e324e08937))
77
+ * **FTR-015:** US-08-TASK-INFRA-04 — update AGENTS.md to document src/claude/ as source location ([d4fce96](https://github.com/dtlab-tech/ai-toolkit/commit/d4fce96a626e72bd86c8fa5e71aab329812707bd))
78
+ * **FTR-015:** US-08-TASK-INFRA-05 — update docs/reference.md with resolver API and CLI commands ([1a24f7f](https://github.com/dtlab-tech/ai-toolkit/commit/1a24f7f66237db7b81aedcce076af203fae8a53d))
79
+ * **FTR-015:** US-08-TASK-INFRA-06 — update docs/installation.md with asset catalog, upgrade path, and dev workflow ([a41bfdd](https://github.com/dtlab-tech/ai-toolkit/commit/a41bfdd4cc783564a684699788695c8aea1094b4))
80
+ * **FTR-015:** US-08-TASK-TEST-01 — add am-phase1-static.test.js regression test ([c5e1b13](https://github.com/dtlab-tech/ai-toolkit/commit/c5e1b132f49375bde4bfba7fd22f25066250d61a))
81
+ * **FTR-015:** US-09-TASK-TEST-01 — confirm frontmatter tests read from src/claude/ ([d159ec3](https://github.com/dtlab-tech/ai-toolkit/commit/d159ec39c29fc3c5188656e68177660d1cdb8a49))
82
+ * **FTR-015:** US-09-TASK-TEST-02 — add no-versioned-assets-in-dot-claude regression test ([b72a695](https://github.com/dtlab-tech/ai-toolkit/commit/b72a695b484af237d23517c7251b9b89e7ac513b))
83
+ * **FTR-015:** US-09-TASK-TEST-03 — add no-test-files-in-src-claude regression test ([107f03b](https://github.com/dtlab-tech/ai-toolkit/commit/107f03bbb0864f194e0aedd4abb0a49e4432c9ee))
84
+ * **FTR-015:** US-09-TASK-TEST-04 — catalog-equivalence regression test ([f79f331](https://github.com/dtlab-tech/ai-toolkit/commit/f79f3319570ad4436416c56a437d89ba6ff63440))
85
+ * **FTR-015:** US-09-TASK-TEST-06 — upgrade-orphan-cleanup regression test ([da1e633](https://github.com/dtlab-tech/ai-toolkit/commit/da1e6330b0745940349d88df8a5c15d939203fac))
86
+ * **FTR-015:** US-09-TASK-TEST-07 — full test suite passes (52 suites, 884 tests); commit FTR-015 process artifacts ([d3a99aa](https://github.com/dtlab-tech/ai-toolkit/commit/d3a99aa82c6ea09737c90606d2d9e5555ee29376))
87
+
88
+
89
+ ### Bug Fixes
90
+
91
+ * **FTR-015/P0-1:** shared buildExpectedPayload eliminates installer-resolver catalog mismatch ([af3aae9](https://github.com/dtlab-tech/ai-toolkit/commit/af3aae9114fc7c4f1b98eb9eb5f55a69effec686))
92
+ * **FTR-015:** add install --project and install --global as CLI aliases ([d133218](https://github.com/dtlab-tech/ai-toolkit/commit/d1332187da95cbfbddb61c0081201046f78abd65))
93
+ * **FTR-015:** add installationMode to manifest and exclude docs from files list ([4c54710](https://github.com/dtlab-tech/ai-toolkit/commit/4c54710efc4214ae0b99e53ee4e558514e1611f1))
94
+ * **FTR-015:** add version verification step to toolkit:dev-install-global ([0603db3](https://github.com/dtlab-tech/ai-toolkit/commit/0603db329686141367d2bc9972234407865c4f38))
95
+ * **FTR-015:** align list-assets with Tech Spec contract ([6863f82](https://github.com/dtlab-tech/ai-toolkit/commit/6863f82c8aba4aca18850e2f444b7214c64c8268))
96
+ * **FTR-015:** call validatePurityGuard() before copy in installLocal and installGlobal ([a51f177](https://github.com/dtlab-tech/ai-toolkit/commit/a51f17794886a731371523e7972a4adf0528c6fc))
97
+ * **FTR-015:** correct global install root path to os.homedir() ([fcd0934](https://github.com/dtlab-tech/ai-toolkit/commit/fcd0934aa57752f442f8742031d089e5856ef083))
98
+ * **FTR-015:** doctor fully validates manifest.files schema (P1) ([c36ac94](https://github.com/dtlab-tech/ai-toolkit/commit/c36ac94b82452e821f5bb533b0bebd87c19d9e55))
99
+ * **FTR-015:** doctor resolution reports PROBLEMATIC on invalid manifest or incomplete install ([fab3cf8](https://github.com/dtlab-tech/ai-toolkit/commit/fab3cf8664a3ebfc559395c3b46dd524d687989e))
100
+ * **FTR-015:** doctor verifies catalog, manifest, and filesystem coherence (P1-B) ([0c4957a](https://github.com/dtlab-tech/ai-toolkit/commit/0c4957ac6909fc1c4b713c4f857c00835cb23109))
101
+ * **FTR-015:** enforce canonical manifest.files paths via shared primitive (P1) ([cfda757](https://github.com/dtlab-tech/ai-toolkit/commit/cfda757631ceda40a3dd78ee252bb5ee7998483e))
102
+ * **FTR-015:** enforce mandatory --project and --category on list-assets (P2) ([ad0618b](https://github.com/dtlab-tech/ai-toolkit/commit/ad0618b627c89862957ebfbd426dc60c6b34944f))
103
+ * **FTR-015:** exclude install-toolkit skill from distributed assets ([d22da5b](https://github.com/dtlab-tech/ai-toolkit/commit/d22da5b466c6fd21e3289c1d52060d7c5739dd3c))
104
+ * **FTR-015:** post-merge hotfix — manifest, install aliases, list-assets, doctor, purity guard, install-toolkit exclusion ([9554121](https://github.com/dtlab-tech/ai-toolkit/commit/955412139576771a6d83d35e622698b887057e47))
105
+ * **FTR-015:** reject rooted/UNC Windows paths; dedup confinement (P1 + Standards) ([f012443](https://github.com/dtlab-tech/ai-toolkit/commit/f012443891ed7fc2f020bdb369cd035586d902fa))
106
+ * **FTR-015:** single canonical source for distributable payload (P1-A) ([aec36cf](https://github.com/dtlab-tech/ai-toolkit/commit/aec36cf69a35625243d34eb5748919b44171cb16))
107
+ * **FTR-015:** update catalog-equivalence test to account for TOOLKIT_INTERNAL_ASSETS exclusions ([93232e1](https://github.com/dtlab-tech/ai-toolkit/commit/93232e1dd09577d000ec9066d37f281ea77be926))
108
+ * **FTR-015:** US-02-TASK-BE-02 — update import paths after test migration ([78630ec](https://github.com/dtlab-tech/ai-toolkit/commit/78630ecb1b8b7eaf21c22038ecded46dd65ca1b2))
109
+
2
110
  ## [0.10.1](https://github.com/dtlab-tech/ai-toolkit/compare/v0.10.0...v0.10.1) (2026-08-12)
3
111
 
4
112