forgecraft-mcp 1.7.0 → 1.8.1

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 (113) hide show
  1. package/LICENSE +67 -67
  2. package/README.md +79 -0
  3. package/dist/analyzers/package-json.d.ts.map +1 -1
  4. package/dist/analyzers/package-json.js +62 -1
  5. package/dist/analyzers/package-json.js.map +1 -1
  6. package/dist/registry/loader-tag.d.ts.map +1 -1
  7. package/dist/registry/loader-tag.js +1 -0
  8. package/dist/registry/loader-tag.js.map +1 -1
  9. package/dist/registry/remote-gates.d.ts +16 -0
  10. package/dist/registry/remote-gates.d.ts.map +1 -1
  11. package/dist/registry/remote-gates.js +56 -0
  12. package/dist/registry/remote-gates.js.map +1 -1
  13. package/dist/registry/sentinel-domain-map.d.ts.map +1 -1
  14. package/dist/registry/sentinel-domain-map.js +16 -9
  15. package/dist/registry/sentinel-domain-map.js.map +1 -1
  16. package/dist/registry/sentinel-renderer.d.ts +13 -8
  17. package/dist/registry/sentinel-renderer.d.ts.map +1 -1
  18. package/dist/registry/sentinel-renderer.js +446 -162
  19. package/dist/registry/sentinel-renderer.js.map +1 -1
  20. package/dist/shared/harness-budget.d.ts +49 -0
  21. package/dist/shared/harness-budget.d.ts.map +1 -0
  22. package/dist/shared/harness-budget.js +123 -0
  23. package/dist/shared/harness-budget.js.map +1 -0
  24. package/dist/shared/hook-installer.d.ts.map +1 -1
  25. package/dist/shared/hook-installer.js +4 -1
  26. package/dist/shared/hook-installer.js.map +1 -1
  27. package/dist/shared/project-gates-helpers.d.ts.map +1 -1
  28. package/dist/shared/project-gates-helpers.js +9 -0
  29. package/dist/shared/project-gates-helpers.js.map +1 -1
  30. package/dist/shared/types/config.d.ts +7 -0
  31. package/dist/shared/types/config.d.ts.map +1 -1
  32. package/dist/shared/types/project.d.ts +5 -3
  33. package/dist/shared/types/project.d.ts.map +1 -1
  34. package/dist/shared/types/project.js +1 -0
  35. package/dist/shared/types/project.js.map +1 -1
  36. package/dist/tools/advice-registry.js +18 -18
  37. package/dist/tools/audit.d.ts +11 -0
  38. package/dist/tools/audit.d.ts.map +1 -1
  39. package/dist/tools/audit.js +45 -0
  40. package/dist/tools/audit.js.map +1 -1
  41. package/dist/tools/check-cascade-contracts.d.ts +6 -7
  42. package/dist/tools/check-cascade-contracts.d.ts.map +1 -1
  43. package/dist/tools/check-cascade-contracts.js +96 -0
  44. package/dist/tools/check-cascade-contracts.js.map +1 -1
  45. package/dist/tools/close-cycle-helpers.d.ts +9 -0
  46. package/dist/tools/close-cycle-helpers.d.ts.map +1 -1
  47. package/dist/tools/close-cycle-helpers.js.map +1 -1
  48. package/dist/tools/close-cycle.d.ts.map +1 -1
  49. package/dist/tools/close-cycle.js +29 -0
  50. package/dist/tools/close-cycle.js.map +1 -1
  51. package/dist/tools/contribute-gate.d.ts +30 -4
  52. package/dist/tools/contribute-gate.d.ts.map +1 -1
  53. package/dist/tools/contribute-gate.js +180 -66
  54. package/dist/tools/contribute-gate.js.map +1 -1
  55. package/dist/tools/gate-genesis.d.ts +47 -0
  56. package/dist/tools/gate-genesis.d.ts.map +1 -0
  57. package/dist/tools/gate-genesis.js +241 -0
  58. package/dist/tools/gate-genesis.js.map +1 -0
  59. package/dist/tools/learning-graph.d.ts +43 -0
  60. package/dist/tools/learning-graph.d.ts.map +1 -0
  61. package/dist/tools/learning-graph.js +302 -0
  62. package/dist/tools/learning-graph.js.map +1 -0
  63. package/dist/tools/list.d.ts.map +1 -1
  64. package/dist/tools/list.js +4 -0
  65. package/dist/tools/list.js.map +1 -1
  66. package/dist/tools/refresh-analyzer.d.ts +11 -1
  67. package/dist/tools/refresh-analyzer.d.ts.map +1 -1
  68. package/dist/tools/refresh-analyzer.js +32 -2
  69. package/dist/tools/refresh-analyzer.js.map +1 -1
  70. package/dist/tools/refresh-output.d.ts +15 -0
  71. package/dist/tools/refresh-output.d.ts.map +1 -1
  72. package/dist/tools/refresh-output.js +36 -0
  73. package/dist/tools/refresh-output.js.map +1 -1
  74. package/dist/tools/refresh-project.d.ts.map +1 -1
  75. package/dist/tools/refresh-project.js +12 -4
  76. package/dist/tools/refresh-project.js.map +1 -1
  77. package/dist/tools/scaffold-templates.d.ts +26 -1
  78. package/dist/tools/scaffold-templates.d.ts.map +1 -1
  79. package/dist/tools/scaffold-templates.js +110 -0
  80. package/dist/tools/scaffold-templates.js.map +1 -1
  81. package/dist/tools/scaffold-writer.d.ts.map +1 -1
  82. package/dist/tools/scaffold-writer.js +18 -3
  83. package/dist/tools/scaffold-writer.js.map +1 -1
  84. package/dist/tools/setup-artifact-writers.d.ts +15 -3
  85. package/dist/tools/setup-artifact-writers.d.ts.map +1 -1
  86. package/dist/tools/setup-artifact-writers.js +149 -13
  87. package/dist/tools/setup-artifact-writers.js.map +1 -1
  88. package/dist/tools/setup-context.d.ts +2 -0
  89. package/dist/tools/setup-context.d.ts.map +1 -1
  90. package/dist/tools/setup-context.js +13 -4
  91. package/dist/tools/setup-context.js.map +1 -1
  92. package/dist/tools/setup-phase1.d.ts.map +1 -1
  93. package/dist/tools/setup-phase1.js +48 -44
  94. package/dist/tools/setup-phase1.js.map +1 -1
  95. package/dist/tools/setup-phase2.d.ts +9 -0
  96. package/dist/tools/setup-phase2.d.ts.map +1 -1
  97. package/dist/tools/setup-phase2.js +13 -0
  98. package/dist/tools/setup-phase2.js.map +1 -1
  99. package/dist/tools/setup-project.d.ts +6 -0
  100. package/dist/tools/setup-project.d.ts.map +1 -1
  101. package/dist/tools/setup-project.js +57 -40
  102. package/dist/tools/setup-project.js.map +1 -1
  103. package/package.json +3 -2
  104. package/templates/api/instructions.yaml +52 -188
  105. package/templates/expo/hooks.yaml +40 -0
  106. package/templates/expo/instructions.yaml +28 -0
  107. package/templates/expo/mcp-servers.yaml +11 -0
  108. package/templates/mobile/instructions.yaml +2 -2
  109. package/templates/universal/hooks.yaml +171 -0
  110. package/templates/universal/instructions.yaml +194 -1003
  111. package/templates/web-next/hooks.yaml +114 -114
  112. package/templates/web-next/instructions.yaml +106 -106
  113. package/templates/web-static/hooks.yaml +85 -85
package/LICENSE CHANGED
@@ -1,67 +1,67 @@
1
- # PolyForm Small Business License 1.0.0
2
-
3
- <https://polyformproject.org/licenses/small-business/1.0.0>
4
-
5
- Required Notice: Copyright © 2026 PragmaWorks (ForgeCraft) — https://github.com/jghiringhelli
6
-
7
- ## Acceptance
8
-
9
- In order to get any license under these terms, you must agree to them as both strict obligations and conditions to all your licenses.
10
-
11
- ## Copyright License
12
-
13
- The licensor grants you a copyright license for the software to do everything you might do with the software that would otherwise infringe the licensor's copyright in it for any permitted purpose. However, you may only distribute the software according to [Distribution License](#distribution-license) and make changes or new works based on the software according to [Changes and New Works License](#changes-and-new-works-license).
14
-
15
- ## Distribution License
16
-
17
- The licensor grants you an additional copyright license to distribute copies of the software. Your license to distribute covers distributing the software with changes and new works permitted by [Changes and New Works License](#changes-and-new-works-license).
18
-
19
- ## Notices
20
-
21
- You must ensure that anyone who gets a copy of any part of the software from you also gets a copy of these terms or the URL for them above, as well as copies of any plain-text lines beginning with `Required Notice:` that the licensor provided with the software. For example:
22
-
23
- > Required Notice: Copyright Yoyodyne, Inc. (http://example.com)
24
-
25
- ## Changes and New Works License
26
-
27
- The licensor grants you an additional copyright license to make changes and new works based on the software for any permitted purpose.
28
-
29
- ## Patent License
30
-
31
- The licensor grants you a patent license for the software that covers patent claims the licensor can license, or becomes able to license, that you would infringe by using the software.
32
-
33
- ## Fair Use
34
-
35
- You may have "fair use" rights for the software under the law. These terms do not limit them.
36
-
37
- ## Small Business
38
-
39
- Use of the software for the benefit of your company is use for a permitted purpose if your company has fewer than 100 total individuals working as employees and independent contractors, and less than 1,000,000 USD (2019) total revenue in the prior tax year. Adjust this revenue threshold for inflation according to the United States Bureau of Labor Statistics' consumer price index for all urban consumers, U.S. city average, for all items, not seasonally adjusted, with 1982–1984=100 reference base.
40
-
41
- ## No Other Rights
42
-
43
- These terms do not allow you to sublicense or transfer any of your licenses to anyone else, or prevent the licensor from granting licenses to anyone else. These terms do not imply any other licenses.
44
-
45
- ## Patent Defense
46
-
47
- If you make any written claim that the software infringes or contributes to infringement of any patent, your patent license for the software granted under these terms ends immediately. If your company makes such a claim, your patent license ends immediately for work on behalf of your company.
48
-
49
- ## Violations
50
-
51
- The first time you are notified in writing that you have violated any of these terms, or done anything with the software not covered by your licenses, your licenses can nonetheless continue if you come into full compliance with these terms, and take practical steps to correct past violations, within 32 days of receiving notice. Otherwise, all your licenses end immediately.
52
-
53
- ## No Liability
54
-
55
- ***As far as the law allows, the software comes as is, without any warranty or condition, and the licensor will not be liable to you for any damages arising out of these terms or the use or nature of the software, under any kind of legal claim.***
56
-
57
- ## Definitions
58
-
59
- The **licensor** is the individual or entity offering these terms, and the **software** is the software the licensor makes available under these terms.
60
-
61
- **You** refers to the individual or entity agreeing to these terms.
62
-
63
- **Your company** is any legal entity, sole proprietorship, or other kind of organization that you work for, plus all organizations that have control over, are under the control of, or are under common control with that organization. **Control** means ownership of substantially all the assets of an entity, or the power to direct its management and policies by vote, contract, or otherwise. Control can be direct or indirect.
64
-
65
- **Your licenses** are all the licenses granted to you for the software under these terms.
66
-
67
- **Use** means anything you do with the software requiring one of your licenses.
1
+ # PolyForm Small Business License 1.0.0
2
+
3
+ <https://polyformproject.org/licenses/small-business/1.0.0>
4
+
5
+ Required Notice: Copyright © 2026 PragmaWorks (ForgeCraft) — https://github.com/jghiringhelli
6
+
7
+ ## Acceptance
8
+
9
+ In order to get any license under these terms, you must agree to them as both strict obligations and conditions to all your licenses.
10
+
11
+ ## Copyright License
12
+
13
+ The licensor grants you a copyright license for the software to do everything you might do with the software that would otherwise infringe the licensor's copyright in it for any permitted purpose. However, you may only distribute the software according to [Distribution License](#distribution-license) and make changes or new works based on the software according to [Changes and New Works License](#changes-and-new-works-license).
14
+
15
+ ## Distribution License
16
+
17
+ The licensor grants you an additional copyright license to distribute copies of the software. Your license to distribute covers distributing the software with changes and new works permitted by [Changes and New Works License](#changes-and-new-works-license).
18
+
19
+ ## Notices
20
+
21
+ You must ensure that anyone who gets a copy of any part of the software from you also gets a copy of these terms or the URL for them above, as well as copies of any plain-text lines beginning with `Required Notice:` that the licensor provided with the software. For example:
22
+
23
+ > Required Notice: Copyright Yoyodyne, Inc. (http://example.com)
24
+
25
+ ## Changes and New Works License
26
+
27
+ The licensor grants you an additional copyright license to make changes and new works based on the software for any permitted purpose.
28
+
29
+ ## Patent License
30
+
31
+ The licensor grants you a patent license for the software that covers patent claims the licensor can license, or becomes able to license, that you would infringe by using the software.
32
+
33
+ ## Fair Use
34
+
35
+ You may have "fair use" rights for the software under the law. These terms do not limit them.
36
+
37
+ ## Small Business
38
+
39
+ Use of the software for the benefit of your company is use for a permitted purpose if your company has fewer than 100 total individuals working as employees and independent contractors, and less than 1,000,000 USD (2019) total revenue in the prior tax year. Adjust this revenue threshold for inflation according to the United States Bureau of Labor Statistics' consumer price index for all urban consumers, U.S. city average, for all items, not seasonally adjusted, with 1982–1984=100 reference base.
40
+
41
+ ## No Other Rights
42
+
43
+ These terms do not allow you to sublicense or transfer any of your licenses to anyone else, or prevent the licensor from granting licenses to anyone else. These terms do not imply any other licenses.
44
+
45
+ ## Patent Defense
46
+
47
+ If you make any written claim that the software infringes or contributes to infringement of any patent, your patent license for the software granted under these terms ends immediately. If your company makes such a claim, your patent license ends immediately for work on behalf of your company.
48
+
49
+ ## Violations
50
+
51
+ The first time you are notified in writing that you have violated any of these terms, or done anything with the software not covered by your licenses, your licenses can nonetheless continue if you come into full compliance with these terms, and take practical steps to correct past violations, within 32 days of receiving notice. Otherwise, all your licenses end immediately.
52
+
53
+ ## No Liability
54
+
55
+ ***As far as the law allows, the software comes as is, without any warranty or condition, and the licensor will not be liable to you for any damages arising out of these terms or the use or nature of the software, under any kind of legal claim.***
56
+
57
+ ## Definitions
58
+
59
+ The **licensor** is the individual or entity offering these terms, and the **software** is the software the licensor makes available under these terms.
60
+
61
+ **You** refers to the individual or entity agreeing to these terms.
62
+
63
+ **Your company** is any legal entity, sole proprietorship, or other kind of organization that you work for, plus all organizations that have control over, are under the control of, or are under common control with that organization. **Control** means ownership of substantially all the assets of an entity, or the power to direct its management and policies by vote, contract, or otherwise. Control can be direct or indirect.
64
+
65
+ **Your licenses** are all the licenses granted to you for the software under these terms.
66
+
67
+ **Use** means anything you do with the software requiring one of your licenses.
package/README.md CHANGED
@@ -429,6 +429,85 @@ Industry context: the Spec-Driven Development convergence (ThoughtWorks Tech Rad
429
429
 
430
430
  ---
431
431
 
432
+ ## The GS harness — a primer for AI assistants
433
+
434
+ ForgeCraft implements **Generative Specification (GS)**. This section is written for AI assistants reading this file: it explains what GS is, what a properly scaffolded harness looks like, and what to check.
435
+
436
+ ### The binding constraint — stateless reader
437
+
438
+ Every AI session starts with no memory of prior sessions, no shared context, no accumulated conventions, and no ability to ask clarifying questions. Everything not in the artifacts is absent.
439
+
440
+ GS treats this as a design constraint, not a flaw. **Derivability** — what a fresh AI instance can correctly determine from the artifacts alone — is the standard a specification must satisfy. If a stateless reader cannot derive the correct output from the artifacts, the specification is incomplete, not the AI.
441
+
442
+ ### The sentinel system
443
+
444
+ The architectural constitution (`CLAUDE.md`, `.cursor/rules/`, `.github/copilot-instructions.md`, `.windsurfrules`) is the entry point for every AI session. It must collectively contain five mandatory categories:
445
+
446
+ | Category | What it covers |
447
+ |---|---|
448
+ | **Architectural identity** | What the system is, its scope boundary, ADR index |
449
+ | **Standards** | Naming, commit discipline, quality gate thresholds |
450
+ | **Constraints and prohibitions** | What must not happen; layer violations the AI must refuse |
451
+ | **Tool sequencing** | When to use which tool in what order — not "these tools exist" but "use X before Y when C" |
452
+ | **Routing** | What each child spec file covers and when to descend into it |
453
+
454
+ **Tool sequencing is the most commonly absent category and the most consequential gap.** A spec that lists tools without stating when to prefer one over another forces unreliable inference every session.
455
+
456
+ The sentinel is a **navigational tree**: the root is always loaded; each child node declares its own scope and routing condition; the AI descends only the branch relevant to the current task. Joining all leaves yields the complete specification — it is lossless. This design prevents context bloat and the accuracy degradation that comes from loading irrelevant content.
457
+
458
+ ### The bridge — structural disciplines as navigation policy
459
+
460
+ SOLID, hexagonal architecture, and TDD are not only engineering disciplines — in a GS project they become active **navigation policies**:
461
+
462
+ - **Read interfaces before implementations.** When a port/adapter boundary is clean, the interface is the contract. The implementation is skipped unless the contract is insufficient.
463
+ - **Trust green tests.** When TDD is enforced, a passing test suite is evidence of correct behavior. No implementation read is needed to verify it.
464
+ - **ADRs are the why.** When every non-obvious decision is recorded, the AI reads the record instead of inferring intent from code.
465
+
466
+ This bridge converts the passive structural benefits of prior disciplines into a measurable reduction in token usage and context consumption.
467
+
468
+ ### Token sanitation
469
+
470
+ Context window size and positional placement both degrade AI accuracy (Liu et al., 2023). GS minimizes unnecessary token consumption by design:
471
+
472
+ - **The sentinel tree is lazy.** Only the relevant branch is loaded per task — never the full specification at once.
473
+ - **Contracts over implementations.** Interfaces, schema definitions, and test assertions are read first. Implementation files are read only when contracts are insufficient to derive the answer.
474
+ - **The constitution leads every session.** The most important content occupies the leading position in context — where positional accuracy is highest.
475
+ - **MCP tool surface is bounded.** Each declared MCP tool is read by the model on every turn whether invoked or not. The ForgeCraft sentinel exposes one tool (~200 tokens) rather than a full command surface (~1,500 tokens). The tool practices the methodology it writes into your project.
476
+
477
+ ### Document taxonomy — what a complete GS project contains
478
+
479
+ A scaffolded project contains these artifact types. If any are missing, the harness is incomplete:
480
+
481
+ | Artifact | Canonical path | Role |
482
+ |---|---|---|
483
+ | Architectural constitution | `CLAUDE.md` · `.cursor/rules/` · `.windsurfrules` · `.github/copilot-instructions.md` | Governing rules loaded at the start of every AI session |
484
+ | Document manifest | `docs/manifest.yaml` | Declares what artifact types exist and where — the taxonomy contract |
485
+ | Session continuity | `docs/status.md` | Current state, in-progress work, recent decisions — updated each session |
486
+ | Functional specification | `docs/PRD.md` | User-facing behavior, domain model, system boundaries |
487
+ | Architecture document | `docs/TechSpec.md` | Layer structure, module boundaries, integration surfaces (with C4 diagrams) |
488
+ | Decision records | `docs/adrs/NNNN-slug.md` | One per non-obvious architectural choice, MADR format |
489
+ | Use cases | `docs/use-cases/` | Behavioral contracts — simultaneously test specifications |
490
+ | Schemas | `docs/specs/` | Data model, API contracts, event schemas with formal constraints |
491
+ | Project config | `forgecraft.yaml` | Tags, tier, targets — the ForgeCraft entry point |
492
+
493
+ **The initialization cascade**: specifications are produced in sequence — each is an output of what precedes it and a production rule for what follows. Functional spec → architecture → constitution → ADRs → use cases. The cascade is complete when a stateless agent given all five artifact sets can derive any valid implementation state without further human direction.
494
+
495
+ ### The 7 attributes — what to verify
496
+
497
+ A properly scaffolded GS project satisfies all seven. These are the properties the `verify` command scores:
498
+
499
+ | Attribute | What it verifies |
500
+ |---|---|
501
+ | **Self-Describing** | The codebase explains its own architecture, decisions, and conventions from its own artifacts — no external knowledge required |
502
+ | **Bounded** | Every unit has explicit scope and seams; business logic does not leak across layer boundaries |
503
+ | **Verifiable** | Correctness can be checked without human judgment — types, tests, coverage gates, schema contracts |
504
+ | **Defended** | Destructive operations are structurally prevented, not merely discouraged — commit hooks, branch protection, format enforcement |
505
+ | **Auditable** | Current state and history are fully recoverable from artifacts alone — conventional commits, ADRs |
506
+ | **Composable** | Units combine and extend without unexpected coupling — dependency inversion, pure function models |
507
+ | **Executable** | Output satisfies behavioral contracts when exercised against a real execution environment, not merely when it compiles |
508
+
509
+ ---
510
+
432
511
  ## Configuration
433
512
 
434
513
  ### Fine-tune what your AI assistant sees
@@ -1 +1 @@
1
- {"version":3,"file":"package-json.d.ts","sourceRoot":"","sources":["../../src/analyzers/package-json.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAI9C,qDAAqD;AACrD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;CAC7B;AA8FD;;GAEG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,CAoC9D;AA0JD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,EAAE,CAwInE"}
1
+ {"version":3,"file":"package-json.d.ts","sourceRoot":"","sources":["../../src/analyzers/package-json.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAI9C,qDAAqD;AACrD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;CAC7B;AAkGD;;GAEG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,CA0C9D;AA8MD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,EAAE,CAwInE"}
@@ -56,6 +56,11 @@ const DEPENDENCY_PATTERNS = [
56
56
  tag: "MOBILE",
57
57
  evidence: "mobile framework in dependencies",
58
58
  },
59
+ {
60
+ packages: ["expo", "expo-router", "expo-constants"],
61
+ tag: "EXPO",
62
+ evidence: "Expo managed workflow in dependencies",
63
+ },
59
64
  {
60
65
  packages: ["@tensorflow/tfjs", "onnxruntime-node"],
61
66
  tag: "ML",
@@ -74,7 +79,6 @@ const FILE_PATTERNS = [
74
79
  tag: "WEB-NEXT",
75
80
  evidence: "next.config found",
76
81
  },
77
- { files: ["tsconfig.json"], tag: "LIBRARY", evidence: "TypeScript project" },
78
82
  {
79
83
  files: [".solhint.json", "hardhat.config.ts", "foundry.toml"],
80
84
  tag: "WEB3",
@@ -112,6 +116,12 @@ export function analyzeProject(projectDir) {
112
116
  if (binDetection) {
113
117
  detections.push(binDetection);
114
118
  }
119
+ // LIBRARY only when the package is actually published/consumable — a bare
120
+ // tsconfig.json is not a library (that over-tagged end-user apps as libs).
121
+ const libDetection = analyzeLibraryEntry(packageJsonPath);
122
+ if (libDetection) {
123
+ detections.push(libDetection);
124
+ }
115
125
  }
116
126
  // Deduplicate by tag, keeping highest confidence
117
127
  const deduped = deduplicateDetections(detections);
@@ -235,6 +245,57 @@ function analyzeBinEntry(filePath) {
235
245
  return null;
236
246
  }
237
247
  }
248
+ /**
249
+ * Detect a publishable library from package.json signals.
250
+ *
251
+ * A library is a package OTHER projects consume — that requires an entry point
252
+ * declaration (`exports`, `main`, or `module`) and not being marked `private`.
253
+ * A `tsconfig.json` alone (the old heuristic) flags every TypeScript app as a
254
+ * library, which is wrong for end-user apps with internal `src/index.ts` barrels.
255
+ *
256
+ * @param filePath - Absolute path to package.json
257
+ * @returns LIBRARY detection, or null when the package is not consumable
258
+ */
259
+ function analyzeLibraryEntry(filePath) {
260
+ try {
261
+ const pkg = JSON.parse(readFileSync(filePath, "utf-8"));
262
+ if (pkg["private"] === true)
263
+ return null;
264
+ const signals = [];
265
+ if (pkg["exports"])
266
+ signals.push("exports");
267
+ if (pkg["main"])
268
+ signals.push("main");
269
+ if (pkg["module"])
270
+ signals.push("module");
271
+ if (pkg["publishConfig"])
272
+ signals.push("publishConfig");
273
+ if (Array.isArray(pkg["files"]) && pkg["files"].length > 0) {
274
+ signals.push("files");
275
+ }
276
+ if (pkg["types"] || pkg["typings"])
277
+ signals.push("types");
278
+ // Need at least an entry point (exports/main/module) — `types`/`files`
279
+ // alone are too weak to call something a published library.
280
+ const hasEntryPoint = signals.includes("exports") ||
281
+ signals.includes("main") ||
282
+ signals.includes("module");
283
+ if (!hasEntryPoint)
284
+ return null;
285
+ // Higher confidence when an explicit publish surface is declared.
286
+ const confidence = signals.includes("exports") || signals.includes("publishConfig")
287
+ ? 0.8
288
+ : 0.65;
289
+ return {
290
+ tag: "LIBRARY",
291
+ confidence,
292
+ evidence: [`publishable package (${signals.join(", ")})`],
293
+ };
294
+ }
295
+ catch {
296
+ return null;
297
+ }
298
+ }
238
299
  /**
239
300
  * Deduplicate detections by tag, keeping highest confidence per tag.
240
301
  */
@@ -1 +1 @@
1
- {"version":3,"file":"package-json.js","sourceRoot":"","sources":["../../src/analyzers/package-json.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"package-json.js","sourceRoot":"","sources":["../../src/analyzers/package-json.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"loader-tag.d.ts","sourceRoot":"","sources":["../../src/registry/loader-tag.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EACV,GAAG,EACH,cAAc,EAWf,MAAM,oBAAoB,CAAC;AAgB5B;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,CA+F3E;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,CAenD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,CA6B3D;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAE7C"}
1
+ {"version":3,"file":"loader-tag.d.ts","sourceRoot":"","sources":["../../src/registry/loader-tag.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EACV,GAAG,EACH,cAAc,EAWf,MAAM,oBAAoB,CAAC;AAgB5B;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,CA+F3E;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,CAenD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,CA8B3D;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAE7C"}
@@ -149,6 +149,7 @@ export function tagDirNameToTag(dirName) {
149
149
  library: "LIBRARY",
150
150
  infra: "INFRA",
151
151
  mobile: "MOBILE",
152
+ expo: "EXPO",
152
153
  analytics: "ANALYTICS",
153
154
  hipaa: "HIPAA",
154
155
  soc2: "SOC2",
@@ -1 +1 @@
1
- {"version":3,"file":"loader-tag.js","sourceRoot":"","sources":["../../src/registry/loader-tag.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader-tag.js","sourceRoot":"","sources":["../../src/registry/loader-tag.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AA8B/D;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAQ,EAAE,MAAc;IACzD,IAAI,YAA6C,CAAC;IAClD,IAAI,GAA4B,CAAC;IACjC,IAAI,SAAwC,CAAC;IAC7C,IAAI,KAAiC,CAAC;IACtC,IAAI,MAAmC,CAAC;IACxC,IAAI,MAAkC,CAAC;IACvC,IAAI,UAA0C,CAAC;IAC/C,IAAI,SAAwC,CAAC;IAC7C,IAAI,QAAsC,CAAC;IAC3C,IAAI,YAA8C,CAAC;IAEnD,mDAAmD;IACnD,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC3D,IAAI,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACjC,YAAY,GAAG,YAAY,CAAsB,gBAAgB,CAAC,CAAC;IACrE,CAAC;IAED,qEAAqE;IACrE,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAClD,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,YAAY,GAAG,YAAY,CAAsB,UAAU,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACzC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,GAAG,GAAG,YAAY,CAAc,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,sBAAsB;IACtB,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACrD,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,SAAS,GAAG,YAAY,CAAoB,aAAa,CAAC,CAAC;IAC7D,CAAC;IAED,kBAAkB;IAClB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC7C,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,YAAY,CAAgB,SAAS,CAAC,CAAC;QACzD,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED,mBAAmB;IACnB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC/C,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,YAAY,CAAiB,UAAU,CAAC,CAAC;QAC5D,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,mBAAmB;IACnB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC/C,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,MAAM,GAAG,YAAY,CAAiB,UAAU,CAAC,CAAC;IACpD,CAAC;IAED,wBAAwB;IACxB,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACxD,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/B,UAAU,GAAG,YAAY,CAAqB,cAAc,CAAC,CAAC;IAChE,CAAC;IAED,kDAAkD;IAClD,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACrD,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,SAAS,GAAG,YAAY,CAAoB,aAAa,CAAC,CAAC;IAC7D,CAAC;IAED,2DAA2D;IAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACnD,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,QAAQ,GAAG,YAAY,CAAmB,YAAY,CAAC,CAAC;IAC1D,CAAC;IAED,6EAA6E;IAC7E,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC3D,IAAI,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACjC,YAAY,GAAG,YAAY,CAAuB,gBAAgB,CAAC,CAAC;IACtE,CAAC;IAED,OAAO;QACL,GAAG;QACH,YAAY;QACZ,GAAG;QACH,SAAS;QACT,KAAK;QACL,MAAM;QACN,MAAM;QACN,UAAU;QACV,SAAS;QACT,QAAQ;QACR,YAAY;KACb,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAI,QAAgB;IAC9C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,CAAC;QACvC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,kBAAkB,CAAC,QAAQ,EAAE,+BAA+B,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,kBAAkB,EAAE,CAAC;YACxC,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,IAAI,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,MAAM,OAAO,GAAwB;QACnC,SAAS,EAAE,WAAW;QACtB,WAAW,EAAE,WAAW;QACxB,YAAY,EAAE,YAAY;QAC1B,UAAU,EAAE,UAAU;QACtB,GAAG,EAAE,KAAK;QACV,eAAe,EAAE,eAAe;QAChC,EAAE,EAAE,IAAI;QACR,UAAU,EAAE,YAAY;QACxB,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,UAAU;QACpB,eAAe,EAAE,eAAe;QAChC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,QAAQ;QAChB,GAAG,EAAE,KAAK;QACV,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,WAAW;QACtB,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,MAAM;QACZ,cAAc,EAAE,cAAc;QAC9B,oBAAoB,EAAE,oBAAoB;QAC1C,wBAAwB,EAAE,wBAAwB;QAClD,YAAY,EAAE,YAAY;KAC3B,CAAC;IACF,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;AAClC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,GAAQ;IACnC,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;AAC3B,CAAC"}
@@ -40,4 +40,20 @@ export declare function fetchRemoteGates(projectRoot: string, registryUrl?: stri
40
40
  * @returns Filtered array of remote gates.
41
41
  */
42
42
  export declare function filterGatesByTags(index: RemoteGatesIndex, tags: string[]): readonly RemoteGate[];
43
+ /**
44
+ * Install tag-matching approved registry gates into the project as YAML files.
45
+ *
46
+ * Gates land in `.forgecraft/gates/registry/<category>/<id>.yaml` — the
47
+ * community-suggestion area. The dev/AI reviews and promotes relevant gates
48
+ * to `.forgecraft/gates/active/` (human-judgment step — registry gates are
49
+ * never auto-activated).
50
+ *
51
+ * Idempotent: existing files are never overwritten. Quarantined gates are skipped.
52
+ *
53
+ * @param projectRoot - Target project root
54
+ * @param index - The fetched remote gates index
55
+ * @param tags - Active project tags to filter by
56
+ * @returns Relative paths of gate files written
57
+ */
58
+ export declare function installRemoteGates(projectRoot: string, index: RemoteGatesIndex, tags: string[]): string[];
43
59
  //# sourceMappingURL=remote-gates.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"remote-gates.d.ts","sourceRoot":"","sources":["../../src/registry/remote-gates.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,YAAY,CAAC;IAC3C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC;CAC9B;AAYD;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,CAAC,CAqB3B;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,gBAAgB,EACvB,IAAI,EAAE,MAAM,EAAE,GACb,SAAS,UAAU,EAAE,CAQvB"}
1
+ {"version":3,"file":"remote-gates.d.ts","sourceRoot":"","sources":["../../src/registry/remote-gates.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,YAAY,CAAC;IAC3C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC;CAC9B;AAYD;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,CAAC,CAqB3B;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,gBAAgB,EACvB,IAAI,EAAE,MAAM,EAAE,GACb,SAAS,UAAU,EAAE,CAQvB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,gBAAgB,EACvB,IAAI,EAAE,MAAM,EAAE,GACb,MAAM,EAAE,CA6CV"}
@@ -1,5 +1,6 @@
1
1
  import { existsSync, readFileSync, writeFileSync, mkdirSync } from "fs";
2
2
  import { join } from "path";
3
+ import { dump as yamlDump } from "js-yaml";
3
4
  const DEFAULT_REGISTRY_URL = "https://raw.githubusercontent.com/jghiringhelli/quality-gates/master/index.json";
4
5
  const CACHE_TTL_MS = 24 * 60 * 60 * 1000; // 24 hours
5
6
  /**
@@ -48,6 +49,61 @@ export function filterGatesByTags(index, tags) {
48
49
  g.tags.length === 0 ||
49
50
  g.tags.some((t) => tags.includes(t.toUpperCase())));
50
51
  }
52
+ /**
53
+ * Install tag-matching approved registry gates into the project as YAML files.
54
+ *
55
+ * Gates land in `.forgecraft/gates/registry/<category>/<id>.yaml` — the
56
+ * community-suggestion area. The dev/AI reviews and promotes relevant gates
57
+ * to `.forgecraft/gates/active/` (human-judgment step — registry gates are
58
+ * never auto-activated).
59
+ *
60
+ * Idempotent: existing files are never overwritten. Quarantined gates are skipped.
61
+ *
62
+ * @param projectRoot - Target project root
63
+ * @param index - The fetched remote gates index
64
+ * @param tags - Active project tags to filter by
65
+ * @returns Relative paths of gate files written
66
+ */
67
+ export function installRemoteGates(projectRoot, index, tags) {
68
+ const written = [];
69
+ const matching = filterGatesByTags(index, tags).filter((g) => g.status === "approved");
70
+ for (const gate of matching) {
71
+ const category = sanitizePathSegment(gate.category || "general");
72
+ const id = sanitizePathSegment(gate.id);
73
+ if (!id)
74
+ continue;
75
+ const dir = join(projectRoot, ".forgecraft", "gates", "registry", category);
76
+ const filePath = join(dir, `${id}.yaml`);
77
+ if (existsSync(filePath))
78
+ continue;
79
+ try {
80
+ mkdirSync(dir, { recursive: true });
81
+ writeFileSync(filePath, yamlDump({
82
+ id: gate.id,
83
+ title: gate.title,
84
+ description: gate.description,
85
+ domain: gate.category,
86
+ gsProperty: gate.gsProperty,
87
+ phase: gate.phase,
88
+ hook: gate.hook,
89
+ check: gate.check,
90
+ passCriterion: gate.passCriterion,
91
+ tags: gate.tags ?? [],
92
+ ...(gate.evidence ? { evidence: gate.evidence } : {}),
93
+ source: "community-registry",
94
+ }, { lineWidth: 100, noRefs: true }), "utf-8");
95
+ written.push(`.forgecraft/gates/registry/${category}/${id}.yaml`);
96
+ }
97
+ catch {
98
+ // Single gate write failure is non-fatal — continue with the rest
99
+ }
100
+ }
101
+ return written;
102
+ }
103
+ /** Strip path-traversal characters from a gate-supplied path segment. */
104
+ function sanitizePathSegment(segment) {
105
+ return segment.replace(/[^a-zA-Z0-9_-]/g, "-").replace(/^-+|-+$/g, "");
106
+ }
51
107
  function readCache(cachePath) {
52
108
  if (!existsSync(cachePath))
53
109
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"remote-gates.js","sourceRoot":"","sources":["../../src/registry/remote-gates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote-gates.js","sourceRoot":"","sources":["../../src/registry/remote-gates.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sentinel-domain-map.d.ts","sourceRoot":"","sources":["../../src/registry/sentinel-domain-map.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,uDAAuD;AACvD,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAmJ7D,CAAC;AAEF,gFAAgF;AAChF,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqBhE,CAAC;AAEF,mEAAmE;AACnE,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EAgBzC,CAAC"}
1
+ {"version":3,"file":"sentinel-domain-map.d.ts","sourceRoot":"","sources":["../../src/registry/sentinel-domain-map.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,uDAAuD;AACvD,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA2J7D,CAAC;AAEF,gFAAgF;AAChF,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqBhE,CAAC;AAEF,mEAAmE;AACnE,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EAgBzC,CAAC"}
@@ -26,17 +26,23 @@ export const BLOCK_DOMAIN_MAP = {
26
26
  "twelve-factor-ops": "cicd",
27
27
  "commit-protocol": "cicd",
28
28
  "dev-environment-hygiene": "cicd",
29
- // ── Spec / GS ──
30
- "artifact-grammar": "spec",
31
- "naming-as-grammar": "spec",
29
+ // ── Spec (operational, project-binding rules only) ──
32
30
  "adr-protocol": "spec",
33
31
  "use-case-triple-derivation": "spec",
34
32
  "release-phase-gate": "spec",
35
- "gs-five-memory-types": "spec",
36
- "gs-status-format": "spec",
37
- "living-documentation": "spec",
38
- "agentic-self-refinement": "spec",
39
- "wrong-specification-risk": "spec",
33
+ // ── Reference (GS theory — NEVER session-loaded) ──
34
+ // These teach the methodology rather than bind this project. Their
35
+ // operational content lives in the CNT branches (lifecycle.md Memory Map,
36
+ // session loop, doc obligation table, corrections.md). Loading theory in
37
+ // sessions is the context-degradation source — it displaces the task.
38
+ "artifact-grammar": "reference",
39
+ "naming-as-grammar": "reference",
40
+ "gs-five-memory-types": "reference",
41
+ "gs-status-format": "reference",
42
+ "living-documentation": "reference",
43
+ "agentic-self-refinement": "reference",
44
+ "wrong-specification-risk": "reference",
45
+ "spec-meta-query": "reference",
40
46
  // ── Protocols (on-demand workflow rules) ──
41
47
  "clarification-protocol": "protocols",
42
48
  "feature-completion-protocol": "protocols",
@@ -44,7 +50,8 @@ export const BLOCK_DOMAIN_MAP = {
44
50
  "engineering-preferences": "protocols",
45
51
  "code-generation-verification": "protocols",
46
52
  "known-pitfalls": "protocols",
47
- "corrections-log": "protocols",
53
+ // corrections-log → covered by the .claude/corrections.md CNT branch
54
+ "corrections-log": "reference",
48
55
  "dependency-registry": "protocols",
49
56
  // ── API ──
50
57
  "api-standards": "api",
@@ -1 +1 @@
1
- {"version":3,"file":"sentinel-domain-map.js","sourceRoot":"","sources":["../../src/registry/sentinel-domain-map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sentinel-domain-map.js","sourceRoot":"","sources":["../../src/registry/sentinel-domain-map.ts"],"names":[],"mappings":"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"}