@cassiomc1/forgeloop 2.0.0-rc.4 → 2.0.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 (74) hide show
  1. package/CONTRIBUTING.md +3 -1
  2. package/DOCS_INDEX.md +3 -0
  3. package/ENG/accessibility-eng.md +6 -6
  4. package/ENG/clean-code-eng.md +2 -2
  5. package/ENG/design-code-eng.md +13 -13
  6. package/ENG/documentation-quality-eng.md +10 -2
  7. package/ENG/flutter-development-eng.md +38 -59
  8. package/ENG/games-code-design-web-eng.md +2 -2
  9. package/ENG/perf-code-eng.md +3 -3
  10. package/ENG/php-development-eng.md +2 -2
  11. package/ENG/premium-sites-studio-eng.md +9 -2
  12. package/ENG/python-development-eng.md +7 -1
  13. package/ENG/rust-development-eng.md +22 -32
  14. package/ENG/sec-code-eng.md +19 -3
  15. package/ENG/taste-frontend-eng.md +108 -1
  16. package/ENG/test-code-eng.md +2 -2
  17. package/GUIDE_ROUTER.md +18 -4
  18. package/README.md +24 -20
  19. package/THIRD_PARTY_NOTICES.md +59 -6
  20. package/docs/AGENT_PROTOCOL_SUMMARY.md +1 -1
  21. package/docs/AGENT_SKILL.md +31 -0
  22. package/docs/DOCUMENTATION_GUIDE.md +6 -0
  23. package/docs/FORGELOOP_AUDIT.md +71 -0
  24. package/docs/GETTING_STARTED.md +6 -0
  25. package/docs/GUIDE_MAINTENANCE.md +106 -0
  26. package/docs/OPENSRC_ADAPTER.md +1 -1
  27. package/docs/PACKAGE_CONTENTS.md +25 -2
  28. package/docs/RELEASE_CHECKLIST.md +79 -20
  29. package/docs/REVENUE_CENTRIC_DESIGN.md +69 -0
  30. package/docs/SECURITY_AUDIT_SKILL.md +131 -0
  31. package/docs/SECURITY_REVIEW.md +6 -0
  32. package/docs/STABLE_2_ACCEPTANCE.md +80 -0
  33. package/docs/TROUBLESHOOTING.md +15 -2
  34. package/docs/documentation-manifest.json +255 -0
  35. package/package.json +14 -4
  36. package/scripts/generate-forgeloop-skill.mjs +14 -0
  37. package/scripts/verify-revenue-design-skill.mjs +37 -0
  38. package/scripts/verify-security-audit-skill.mjs +68 -0
  39. package/skills/forgeloop/SKILL.md +14 -0
  40. package/skills/forgeloop/references/revenue-centric-design/LICENSE +30 -0
  41. package/skills/forgeloop/references/revenue-centric-design/PIN.json +14 -0
  42. package/skills/forgeloop/references/revenue-centric-design/SKILL.md +64 -0
  43. package/skills/forgeloop/references/revenue-centric-design/references/playbook.md +36 -0
  44. package/skills/security-audit/AI-AND-LLM.md +83 -0
  45. package/skills/security-audit/ATTACK-CLASSES.md +130 -0
  46. package/skills/security-audit/CLIENT-SIDE.md +83 -0
  47. package/skills/security-audit/CLOUD-AND-DEPLOYMENT.md +86 -0
  48. package/skills/security-audit/DATA-ISOLATION-AND-LIFECYCLE.md +84 -0
  49. package/skills/security-audit/DESKTOP-MOBILE-AND-LOCAL-IPC.md +89 -0
  50. package/skills/security-audit/HUNTING.md +251 -0
  51. package/skills/security-audit/LICENSE +21 -0
  52. package/skills/security-audit/MEMORY-SAFETY-AND-BINARY.md +101 -0
  53. package/skills/security-audit/PIN.json +30 -0
  54. package/skills/security-audit/PROTOCOLS-RPC-AND-MESSAGING.md +81 -0
  55. package/skills/security-audit/RECONNAISSANCE.md +156 -0
  56. package/skills/security-audit/RESOURCE-EXHAUSTION-AND-AVAILABILITY.md +78 -0
  57. package/skills/security-audit/SKILL.md +192 -0
  58. package/skills/security-audit/SUPPLY-CHAIN-AND-RELEASE.md +73 -0
  59. package/skills/security-audit/VALIDATION-AND-REPORTING.md +186 -0
  60. package/skills/security-audit/WEB-PROTOCOL-AND-AUTH.md +105 -0
  61. package/skills/security-audit/report-schema.json +461 -0
  62. package/skills/security-audit/validate-coverage-ledger.cjs +872 -0
  63. package/skills/security-audit/validate-coverage-ledger.test.cjs +740 -0
  64. package/skills/security-audit/validate-findings.cjs +773 -0
  65. package/skills/security-audit/validate-findings.test.cjs +652 -0
  66. package/src/core/completion-artifacts.js +4 -7
  67. package/src/core/diagnosis.js +3 -5
  68. package/src/core/diagnostic-record.js +4 -4
  69. package/src/core/next-action-recovery-phases.js +3 -0
  70. package/src/core/next-action-review-correction.js +26 -0
  71. package/src/core/next-action-review-phase.js +11 -10
  72. package/src/core/reconcile-closure.js +5 -0
  73. package/src/core/review-correction.js +51 -0
  74. package/src/storage/capabilities.js +1 -1
@@ -0,0 +1,106 @@
1
+ # Engineering guide maintenance
2
+
3
+ ForgeLoop's [guide registry](../src/config/guides.json) contains 23 guides.
4
+ The [router](../GUIDE_ROUTER.md) selects relevant context; a catalog entry is
5
+ not evidence that its toolchain is installed, its examples were executed, or
6
+ its target application is ready for release.
7
+
8
+ ## Review scope and authority
9
+
10
+ The catalog consistency review dated 2026-10-17 covered every registered guide
11
+ for activation claims, precedence, optional-tool boundaries, verification
12
+ language, version handling, and related documentation. Local source and
13
+ validators govern routing, metadata, packaging, and evidence. Official
14
+ version-matched sources govern language/platform semantics. This review is
15
+ not a new certification of every API, release, framework, device, or external
16
+ link, and it does not execute consumer applications.
17
+
18
+ Use this precedence when maintaining guidance:
19
+
20
+ 1. Preserve platform rules, the user's request, repository constraints, and
21
+ the canonical ForgeLoop protocol.
22
+ 2. Derive activation from `src/core/project-detection.js`, its specialist
23
+ parsers, `src/core/router.js`, and the public project-evidence schemas.
24
+ 3. Read guide gates and completion requirements from registered frontmatter;
25
+ prose examples do not create extra lifecycle gates or protocol enums.
26
+ 4. Preserve project versions and architecture. Dated release examples are
27
+ reference material, not permission to upgrade a compiler or framework.
28
+ 5. Treat named tools and aesthetic defaults as contextual choices. Do not
29
+ install a missing optional tool or introduce a user-approval gate for a
30
+ reversible local choice. Reuse scoped authority already given.
31
+ 6. Keep unavailable checks and observations separate from passing evidence,
32
+ legal compliance, publication, deployment, and production readiness.
33
+
34
+ ## Catalog maintenance map
35
+
36
+ The focus column records the boundary inspected and retained, or the
37
+ substantive correction made. All rows remain subject to the review limits
38
+ above; retained guidance does not imply a fresh external release audit.
39
+
40
+ | ID | Guide | Maintenance focus |
41
+ | --- | --- | --- |
42
+ | `premium` | [Premium websites](../ENG/premium-sites-studio-eng.md) | Clarified production stages versus runtime gates and genuine client/publication authority |
43
+ | `clean` | [Clean code](../ENG/clean-code-eng.md) | Retained cohesion, public contracts, cancellation, observability, and risk-based dependency guidance; clarified existing installation authority |
44
+ | `test` | [Testing](../ENG/test-code-eng.md) | Retained proportional tests, protected checks, unavailable-tool reporting, and observed evidence; clarified existing installation authority |
45
+ | `security` | [Security](../ENG/sec-code-eng.md) | Retained threat-boundary gate, negative tests, and advisory Cloudflare companion boundary; clarified existing installation authority |
46
+ | `design` | [Design](../ENG/design-code-eng.md) | Preserved product tokens, made example styling and Impeccable contextual, and removed install-capable verifier examples |
47
+ | `taste` | [Taste frontend](../ENG/taste-frontend-eng.md) | Retained contextual v2 adaptation, source/asset provenance, no aesthetic authority, and screenshot-based review |
48
+ | `performance` | [Performance](../ENG/perf-code-eng.md) | Clarified async I/O versus CPU offloading; retained measured baselines, field/lab separation, and bounded resources |
49
+ | `accessibility` | [Accessibility](../ENG/accessibility-eng.md) | Defaulted missing profile to AA without an artificial approval gate; corrected contrast and native-control keyboard guidance |
50
+ | `games` | [Web games](../ENG/games-code-design-web-eng.md) | Retained bounded fixed-step simulation, authoritative resync, validated procedural generation, capability fallback, and deployment checks; clarified installation authority |
51
+ | `documentation` | [Documentation](../ENG/documentation-quality-eng.md) | Added guide-specific checks for factual activation, gates, defaults, optional tools, and release claims |
52
+ | `flutter` | [Flutter](../ENG/flutter-development-eng.md) | Replaced prospective routing instructions with implemented manifest detection and task-specific verification semantics |
53
+ | `dotnet` | [.NET](../ENG/dotnet-aspnetcore-development-eng.md) | Retained structural SDK project detection, scoped ASP.NET/ABP overlays, version compatibility, and build/release distinctions |
54
+ | `nodejs` | [Node.js](../ENG/nodejs-backend-development-eng.md) | Retained bounded backend evidence, module/runtime compatibility, cancellation, resource controls, and operational verification |
55
+ | `rust` | [Rust](../ENG/rust-development-eng.md) | Grounded the release review in primary Rust sources and narrowed safety/API claims; retained Cargo/MSRV and ownership boundaries |
56
+ | `c` | [C](../ENG/c-development-eng.md) | Retained bounded native build/source identity, pointer/ABI contracts, cleanup, sanitizers, and missing-tool limits |
57
+ | `cpp` | [C++](../ENG/cpp-development-eng.md) | Retained native identity, RAII/lifetime/ABI policy, bounded concurrency, and exact-standard verification |
58
+ | `java` | [Java](../ENG/java-development-eng.md) | Retained static Maven/Gradle/Bazel evidence, scoped topology, runtime/build separation, and bounded executor policy |
59
+ | `sql` | [SQL](../ENG/sql-development-eng.md) | Retained host-project overlay, dialect/version discovery, transaction/retry policy, and separate migration authority |
60
+ | `go` | [Go](../ENG/go-development-eng.md) | Retained bounded module/workspace topology, language/toolchain distinction, goroutine ownership, and race/fuzz evidence limits |
61
+ | `typescript` | [TypeScript](../ENG/typescript-development-eng.md) | Retained JSONC/config ownership, runtime-neutral identity, erased-type/runtime validation distinction, and compiler API migration boundary |
62
+ | `php` | [PHP](../ENG/php-development-eng.md) | Aligned the source fallback description with both `<?php` and `<?=` recognized by the parser |
63
+ | `swift` | [Swift](../ENG/swift-development-eng.md) | Retained SwiftPM/native target composition, source-backed identity, concurrency/FFI policy, and signing/platform evidence limits |
64
+ | `python` | [Python](../ENG/python-development-eng.md) | Explicitly documented reference-only status: automatic structural Python routing is not implemented |
65
+
66
+ ## Revalidation procedure
67
+
68
+ For a guide change, inspect the registered path, frontmatter, related router
69
+ rules, representative valid/invalid fixtures, and affected consumer docs.
70
+ Check an external version-sensitive claim against the project's pinned
71
+ version and the relevant official source before revising it. Update
72
+ `last-reviewed` when that guide is materially revalidated; do not change dates
73
+ on untouched guides merely to make the catalog look fresh.
74
+
75
+ For policy changes, compare related guides as well: a safe default in one
76
+ document must not become a mandatory tool, approval, rewrite, or installation
77
+ in another. Preserve explicit user requirements and real blocking decisions.
78
+
79
+ Run proportional checks, including the existing documentation suite:
80
+
81
+ ```bash
82
+ npm run docs:check
83
+ python3 scripts/validate_markdown.py
84
+ npm run pack:check
85
+ npm run security-skill:check
86
+ ```
87
+
88
+ Use `npm run verify:fast` while editing and `npm run verify:prepush` before a
89
+ PR. Those commands verify repository consistency and applicable code/package
90
+ behavior; they do not run all 23 consumer toolchains. New documentation must
91
+ be registered in the documentation manifest and review matrix. Add
92
+ consumer-facing pages to the package allowlist, and derive generated content
93
+ through its existing generator.
94
+
95
+ ## Primary reference points for changed guidance
96
+
97
+ - [WCAG contrast](https://www.w3.org/WAI/WCAG22/Understanding/contrast-minimum.html)
98
+ and [ARIA Authoring Practices](https://www.w3.org/WAI/ARIA/apg/).
99
+ - [Node.js event-loop guidance](https://nodejs.org/en/learn/asynchronous-work/dont-block-the-event-loop).
100
+ - [Official Rust 1.99.0 announcement](https://blog.rust-lang.org/2026/10/01/Rust-1.99.0/).
101
+ - ForgeLoop's [project detector](../src/core/project-detection.js),
102
+ [PHP recognizer](../src/core/php-project.js),
103
+ [guide registry](../src/config/guides.json), and
104
+ [project-evidence schema](../schemas/routing-input.schema.json).
105
+ - [Repository dependency policy](https://github.com/cassiomc1/forgeloop/blob/main/scripts/check-dependency-policy.mjs) and
106
+ [package metadata](../package.json) for runtime dependencies and versions.
@@ -235,7 +235,7 @@ are added; `providerExtensions.publicRegistryApi` and
235
235
  - Protocol v1, schema v1, Integration API v1 unchanged.
236
236
  - `advisoryContextProviders` v1 and `providerExtensions` v1 unchanged; the
237
237
  `ADVISORY_CONTEXT` provider kind covers this adapter.
238
- - Requires Node.js 20+.
238
+ - The ForgeLoop host requires Node.js 24.19.0+ with built-in `node:sqlite`.
239
239
  - Upstream behaviors referenced: `opensrc path <source> [--cwd]`,
240
240
  `OPENSRC_HOME` override, fetch-on-miss, `opensrc 0.7.3` observed at
241
241
  authoring time (never hardcoded into behavior).
@@ -1,6 +1,6 @@
1
1
  # Core npm package contents
2
2
 
3
- This page describes the intentional boundary of the privately delivered
3
+ This page describes the intentional boundary of the publicly distributed
4
4
  `@cassiomc1/forgeloop` package. The [`files`](../package.json) list in
5
5
  `package.json` is the packaging source of truth, while the repository's
6
6
  `tests/package.test.js` and clean-room `scripts/package_smoke.mjs` checks keep
@@ -13,7 +13,9 @@ The package exposes the `forgeloop` executable from `src/cli.js` and the
13
13
  `@cassiomc1/forgeloop/integration` subpath from `src/integration.js`, with its
14
14
  declaration file. The package has the approved exact `@typesafe-ai/sdk`
15
15
  dependency for the pinned semantic decision plane and `smol-toml` for bounded
16
- Cargo manifest parsing. It requires Node.js 20 or newer.
16
+ Cargo manifest parsing. It requires Node.js 24.19.0 or newer with built-in
17
+ `node:sqlite`, matching `package.json#engines`. The MCP companion retains
18
+ restricted distribution.
17
19
 
18
20
  ## Included files
19
21
 
@@ -54,6 +56,9 @@ The published tarball includes the following consumer-facing groups:
54
56
  ASP.NET Core and ABP are conditional routing overlays on the `dotnet` guide,
55
57
  not additional package guides. The package does not install or invoke
56
58
  framework, compiler, build, package-manager, or database tooling.
59
+ `docs/GUIDE_MAINTENANCE.md` ships the full catalog maintenance map and
60
+ revalidation boundaries; it does not add automatic Python routing or new
61
+ lifecycle gates.
57
62
  - **Initialization material:** the root protocol and integration documents,
58
63
  the PolyForm Noncommercial license, third-party notices, the target profile template, and every path listed by
59
64
  `src/core/templates.js`. These files are read by `init` and `update`, so
@@ -74,6 +79,12 @@ The published tarball includes the following consumer-facing groups:
74
79
  documentation are also packaged.
75
80
  The generated portable ForgeLoop Agent Skill and `docs/AGENT_SKILL.md` are
76
81
  packaged as instruction/documentation content, not runtime authority.
82
+ The optional Cloudflare companion at `skills/security-audit/` also ships,
83
+ including its upstream references, schema, validators and tests, MIT
84
+ license, and `PIN.json`. Its usage guide at `docs/SECURITY_AUDIT_SKILL.md`
85
+ and offline `scripts/verify-security-audit-skill.mjs` checker are packaged.
86
+ It adds no runtime dependency or automatic scan and is not copied by
87
+ `init`/`update` into host skill directories.
77
88
  Provider implementation modules ship under `src/`, but packaged source file
78
89
  does not mean a supported public import path; the generic `./providers`
79
90
  subpath remains unexported.
@@ -90,6 +101,9 @@ The published tarball includes the following consumer-facing groups:
90
101
 
91
102
  The tarball intentionally omits repository-only material:
92
103
 
104
+ - the `ForgeLoopAudit/` application source, dependencies, builds, and application
105
+ package; maintaining it inside the repository does not add it to the core
106
+ package's `files` allowlist;
93
107
  - tests, conformance fixtures, coverage output, and secret-scanning helpers;
94
108
  Harness-specific Agent Skill installation directories and Skill caches are
95
109
  not packaged.
@@ -141,3 +155,12 @@ gate before `npm publish --provenance --access public`.
141
155
  Publication therefore remains owned by the authorized manual GitHub Actions
142
156
  workflow and uses public npm access for the core package; local package inspection proves the
143
157
  candidate boundary but does not publish it.
158
+
159
+ ## Optional product design companion
160
+
161
+ The generated ForgeLoop skill includes the maintained
162
+ `skills/forgeloop/references/revenue-centric-design/` reference tree. It ships
163
+ a focused skill, local journey playbook, complete custom source-available
164
+ license and integrity pin. `docs/REVENUE_CENTRIC_DESIGN.md` and
165
+ `scripts/verify-revenue-design-skill.mjs` describe and verify it. Upstream media
166
+ and updater scripts are excluded; external theme references are pinned links.
@@ -4,6 +4,44 @@ This is the current release checklist for the PolyForm Noncommercial-licensed
4
4
  `@cassiomc1/forgeloop` package. It is a preparation and verification checklist;
5
5
  it does not authorize publication.
6
6
 
7
+ ## Stable 2.0.0 candidate — 2026-10-18
8
+
9
+ The core package version is `2.0.0`, targeting npm `latest`, with Node.js
10
+ 24.19.0+ and built-in `node:sqlite`. The MCP companion retains restricted
11
+ distribution and admits the stable core peer. Canonical SQLite is the sole
12
+ supported operational writer; configuration, portable exports, immutable
13
+ attachments and owner-bound maintenance evidence retain explicit file roles.
14
+
15
+ The [release acceptance record](STABLE_2_ACCEPTANCE.md) identifies source-bound
16
+ writer review, full verification, native user checks and recovery/exclusion
17
+ receipts. A fresh hosted pair on the final release source and exact-head PR
18
+ checks remain mandatory before publication. Do not bypass the release guard,
19
+ reuse an earlier-source benchmark as final evidence, or infer publication from
20
+ package metadata. Physical power-loss and production cutover are separate claims.
21
+
22
+ Verify the live registry and immutable release identity after publication:
23
+
24
+ ```bash
25
+ npm view @cassiomc1/forgeloop version dist-tags --json
26
+ npm view @cassiomc1/forgeloop@2.0.0 gitHead dist.integrity --json
27
+ npm run release:identity -- --version 2.0.0 --release-commit <release-tag-commit>
28
+ ```
29
+
30
+ ## Historical RC4 release evidence
31
+
32
+ - [RC4 verification and publication](https://github.com/cassiomc1/forgeloop/actions/runs/38629809865)
33
+ passed full release checks and published with provenance.
34
+ - [Exact-version npm audit](https://github.com/cassiomc1/forgeloop/actions/runs/38638055749)
35
+ passed 15/15 checks on each native Windows, macOS and Linux host.
36
+ - [Default latest-install audit](https://github.com/cassiomc1/forgeloop/actions/runs/38669237414)
37
+ installed the unversioned public package with a fresh npm cache,
38
+ configuration, install prefix and project; all 15 checks passed on each OS.
39
+ Those results describe RC4, not a later stable package.
40
+
41
+ The published RC4 npm `gitHead` and immutable `v2.0.0-rc.4` tag identify
42
+ `d05c17cddda6a09581d526732b08eb0789b9734f`. The RC3 tag is retained; its
43
+ publication was cancelled before npm publication.
44
+
7
45
  ## Runtime corrections after RC2
8
46
 
9
47
  RC3 and later candidates with runtime changes require fresh full repository
@@ -13,16 +51,22 @@ acceptance remains separate; a passing new-user audit does not change
13
51
  `soleSQLiteWriter` or authorize a stable 2.x release. Candidates publish to
14
52
  `next` under the existing release-channel policy.
15
53
 
16
- The `Published npm new-user SQLite audit` workflow supports `candidate` and
17
- `npm` package sources. Before a PR, test the packed candidate in an isolated
54
+ The `Published npm new-user SQLite audit` workflow supports `candidate`, `npm` and
55
+ `latest` package sources. Before a PR, test the packed candidate in an isolated
18
56
  installation, home directory and project on each platform. After publication,
19
- dispatch the same workflow with source `npm` and the exact new version. Require
20
- every check to pass, including live Jev health, concurrent task creation,
21
- SQLite integrity and a completed-task backup restored to a fresh directory.
57
+ dispatch the same workflow with source `latest` and the exact expected new version.
58
+ The `latest` mode installs the unversioned package with fresh home, cache, npm
59
+ configuration, install prefix and project directories. It retains registry
60
+ metadata alongside the observed audit report. Use `npm` for a separate exact-version
61
+ control. Require
62
+ every check to pass, including both bundled companion integrity checks, live
63
+ Jev health, concurrent task creation,
64
+ SQLite integrity, current-cycle review diagnosis/correction, and a completed-task
65
+ backup restored to a fresh directory.
22
66
  Supply `FORGELOOP_NPM_AUDIT_JEV_KEY` through GitHub Actions secrets and remove
23
67
  temporary credentials after the runs finish.
24
68
 
25
- ## Bounded 2.0.0-rc.2 publication
69
+ ## Historical bounded 2.0.0-rc.2 publication
26
70
 
27
71
  The owner approved short verification and an RC fallback on 2026-10-13. This
28
72
  candidate is published to npm `next`. The owner subsequently authorized moving
@@ -58,8 +102,8 @@ p95 result is claimed by the short path. The existing 1,000-task parity run
58
102
  `38483369676` is retained for review; no fresh 200-repeat benchmark is dispatched.
59
103
 
60
104
  The writer inventory covers every current `src` JavaScript module and records
61
- imports plus potential write sites. Alias, computed-path, external-caller, and
62
- transitive-authority review remain incomplete. The inventory explicitly keeps
105
+ imports plus potential write sites. At that historical RC checkpoint, alias, computed-path, external-caller, and
106
+ transitive-authority review remained incomplete. The inventory explicitly keeps
63
107
  `wholeConsumerClosure: false`; it prevents drift and does not authorize setting
64
108
  `soleSQLiteWriter` to true.
65
109
 
@@ -69,22 +113,37 @@ confirmation `PUBLISH PUBLIC PACKAGE`, then verify npm version, Git commit,
69
113
  tarball integrity, and provenance. Stable publishing retains full checks and
70
114
  additionally refuses incomplete sole-writer acceptance.
71
115
 
72
- ## Owner-authorized RC2 default channel
116
+ ## Owner-authorized default-channel promotion
117
+
118
+ Publishing a new release candidate still uses `next`. Moving an already
119
+ published candidate to `latest` is a separate owner-authorized tag operation;
120
+ it neither republishes the package nor changes the immutable Git tag.
121
+ The owner authorized RC4 after its cross-platform npm audits passed.
122
+
123
+ For that explicitly authorized RC4 operation, authenticated npm CLI access
124
+ was used:
125
+
126
+ ```bash
127
+ npm dist-tag add @cassiomc1/forgeloop@2.0.0-rc.4 latest
128
+ npm view @cassiomc1/forgeloop dist-tags --json
129
+ ```
130
+
131
+ npm may require separate browser/security-key verification for login and
132
+ for the tag mutation. Credentials belong in npm's authentication flow,
133
+ never documentation, Git or task artifacts. Confirm the registry result
134
+ before reporting success. The version remains an RC; promotion does not
135
+ establish stable SQLite acceptance or production readiness.
73
136
 
74
- Dispatch `npm-publish.yml` on `main` with operation `promote-latest` and
75
- confirmation `POINT LATEST TO RC2`. This moves only `latest` to the already
76
- published public `2.0.0-rc.2`; it neither republishes nor modifies the RC2 tag.
77
- The promotion checks the exact release commit and downloaded SHA-512, refuses
78
- unexpected existing tags, and requires npm trusted-publisher `manageDistTags`
79
- authority. No credentials are logged or stored. The version remains an RC;
80
- stable SQLite acceptance and production readiness are still incomplete.
137
+ The older `promote-latest` operation in `npm-publish.yml` and
138
+ `scripts/promote-rc-latest.mjs` is hard-bound to RC2. It is historical tooling,
139
+ not an RC4 promotion path; do not dispatch `POINT LATEST TO RC2` for the
140
+ current release. Its exact-identity and tag guards are retained.
81
141
 
82
142
  ## ForgeLoop 2.0.0 candidate scope
83
143
 
84
- The 2.0.0 candidate is not release-ready while SQLite migration plan §10 has
85
- open consumer-closure, current-source performance, or platform evidence. Keep
86
- all acceptance boxes open until their evidence is bound to the exact candidate
87
- revision.
144
+ A stable 2.0.0 publication requires the source-bound acceptance record and final
145
+ release-source checks. The preparation checklist below is not itself a pass;
146
+ retain exact evidence for each applicable requirement.
88
147
 
89
148
  The 2.0.0 candidate carries the SQLite storage transition alongside the
90
149
  existing protocol, routing, provider, documentation, and package surfaces. The
@@ -0,0 +1,69 @@
1
+ # Revenue-centric design companion
2
+
3
+ ForgeLoop includes an optional [revenue-centric design companion](../skills/forgeloop/references/revenue-centric-design/SKILL.md)
4
+ for product journeys, activation, pricing clarity and retention. It adapts
5
+ [heliocosta-dev/revenue-centric-design at the reviewed commit](https://github.com/heliocosta-dev/revenue-centric-design/tree/1942760c2242f609bf63ce2c97204f5a1791bd68),
6
+ a curation of Richard ([@richardrx](https://x.com/richardrx)).
7
+
8
+ ## Availability and scope
9
+
10
+ The source and npm package include the focused skill, an offline journey
11
+ playbook, full upstream license and pin manifest under
12
+ `skills/forgeloop/references/revenue-centric-design/`. The original twelve
13
+ theme references are linked at an immutable upstream commit; media, updater
14
+ scripts, scraping dependencies and API configuration are excluded.
15
+
16
+ Ask an agent to read the companion at that package or source path for relevant
17
+ product work. It is not activated for ordinary protocol or storage maintenance.
18
+ Hosts requiring skill discovery can copy that complete directory into their
19
+ project skill directory after inspecting any existing destination. Preserve
20
+ its license, attribution and pin. `init`, `update` and the skill generator do
21
+ not install or synchronize this discovery copy.
22
+
23
+ ```bash
24
+ node scripts/verify-revenue-design-skill.mjs
25
+ # From a consumer project with a local ForgeLoop installation:
26
+ node node_modules/@cassiomc1/forgeloop/scripts/verify-revenue-design-skill.mjs
27
+ ```
28
+
29
+ The checker verifies the explicit file set and SHA-256 hashes with CRLF
30
+ normalized to LF for portable text checkouts. The pin detects drift against a
31
+ reviewed manifest; it is not a signature, sandbox or evidence of business impact.
32
+ For a copied directory, call the exported `verifyRevenueDesignSkill` function
33
+ with its absolute `rootDir`.
34
+
35
+ ## Use with ForgeLoop
36
+
37
+ Inspect the actual user journey, identify observed friction and propose a
38
+ small reversible change. Pair a user-value metric with a guardrail such as
39
+ successful cancellation, accessibility, error recovery or price comprehension.
40
+ Treat principles, anecdotes and claimed statistics as hypotheses requiring
41
+ context and original-source verification. Browser checks establish behavior;
42
+ conversion and retention claims require appropriate real measurement.
43
+
44
+ For ForgeLoopAudit, relevant work concerns read-only project selection, a first
45
+ successful inspection, understandable evidence, useful errors and navigation.
46
+ This addition does not add commercial flows, tracking or paid experiments to
47
+ the auditor. Audit remains read-only and keeps its own verification commands.
48
+
49
+ The canonical contract, guide router, runtime, gates and validators retain
50
+ all authority. This companion adds no guide ID, runtime dependency, provider,
51
+ automatic gate or completion requirement. Its advice cannot establish
52
+ `COMPLETE` or `VALID`. Preserve informed choice: honest proof and pricing,
53
+ visible renewal terms, reversible defaults and usable cancellation/opt-out.
54
+
55
+ ## Attribution and usage terms
56
+
57
+ The [complete upstream license](../skills/forgeloop/references/revenue-centric-design/LICENSE)
58
+ is retained unchanged. It requires attribution to Richard and the source,
59
+ preservation of its full terms in copies/derivatives, and excludes gambling,
60
+ betting, casino and real-money games-of-chance uses, including loot boxes.
61
+ These are source-available custom terms, not an OSI-approved open-source
62
+ license or ForgeLoop's PolyForm license. Copy the license with any adaptation.
63
+
64
+ The adaptation replaces the broad upstream entrypoint with a focused workflow
65
+ and local journey matrix. It links source themes progressively, keeps external
66
+ research unverified until checked, and preserves ForgeLoop authority and user
67
+ choice. To update it, review the upstream commit and terms, update the
68
+ adaptation and pin together, then verify integrity, documentation and package
69
+ contents. Do not run the upstream updater as part of a ForgeLoop release.
@@ -0,0 +1,131 @@
1
+ # Cloudflare security audit companion
2
+
3
+ ForgeLoop bundles Cloudflare's optional
4
+ [`security-audit`](../skills/security-audit/SKILL.md) skill for source-based
5
+ security questions, focused vulnerability reviews, and explicitly requested
6
+ codebase audits. It provides a repeatable investigation workflow alongside
7
+ the canonical [security guide](../ENG/sec-code-eng.md).
8
+
9
+ The companion is instruction content with local report validators. It adds no
10
+ runtime dependency, scanner service, automatic scan, or ForgeLoop completion
11
+ gate. ForgeLoopAudit inspects protocol evidence; this companion investigates
12
+ source-level security boundaries. These are separate capabilities.
13
+
14
+ ## Availability and setup
15
+
16
+ The complete skill directory ships in the source repository and core npm
17
+ package at `skills/security-audit/`. It includes the domain references,
18
+ findings schema, both validators, their tests, the upstream MIT license, and
19
+ ForgeLoop's pin manifest. The upstream files are unchanged.
20
+
21
+ From a ForgeLoop checkout, verify the copy before using it:
22
+
23
+ ```bash
24
+ node scripts/verify-security-audit-skill.mjs
25
+ ```
26
+
27
+ In a project with a local npm installation, use:
28
+
29
+ ```bash
30
+ node node_modules/@cassiomc1/forgeloop/scripts/verify-security-audit-skill.mjs
31
+ ```
32
+
33
+ Ask an agent to read the companion's `SKILL.md` at that package or checkout
34
+ path and use its guidance for the requested scope. Hosts that require skill
35
+ discovery can instead copy the **entire** `skills/security-audit/` directory
36
+ into their supported project skill directory, such as
37
+ `.agents/skills/security-audit/`. Inspect an existing destination first;
38
+ preserve local modifications rather than overwriting them. Keep all companion
39
+ files together, including `LICENSE` and `PIN.json`. Verify a copied directory
40
+ with `verifySecurityAuditSkill({ rootDir: absoluteSkillDirectory })`, exported
41
+ by the same checker module.
42
+
43
+ ForgeLoop `init` and `update` do not install or synchronize this skill into a
44
+ host's discovery directories. Updating ForgeLoop also does not update a copied
45
+ host skill. No global installation or external Skills CLI is required.
46
+
47
+ ## Choose the appropriate mode
48
+
49
+ | Request | Mode and result |
50
+ | --- | --- |
51
+ | Explain a security control or investigate one suspected issue | Guidance mode; read relevant references, without automatically creating audit files or running all phases |
52
+ | Audit a codebase, perform a comprehensive security review, or produce audit reports | Full audit mode; follow all six upstream phases, including independent verification and coverage accounting |
53
+ | Fix a confirmed issue | A separately scoped ForgeLoop implementation contract with regression checks; the audit itself does not modify target source |
54
+
55
+ Example agent request for a focused review:
56
+
57
+ > Read the bundled security-audit skill. Review the authorization boundary in
58
+ > src/auth in guidance mode. Return source-grounded observations and exact
59
+ > unresolved facts.
60
+
61
+ Example agent request for a full audit:
62
+
63
+ > Read the bundled security-audit skill. Audit this repository, follow all six
64
+ > phases, and report partial coverage and unavailable capabilities explicitly.
65
+
66
+ For a full audit, select scope, source revision, profile, and an external
67
+ output directory under the upstream rules. Use an in-target output directory
68
+ only when the user explicitly chooses it and version control ignores the
69
+ entire directory. Respect host write permissions. Audit artifacts belong to
70
+ the audit output directory, outside ForgeLoop-owned task state.
71
+
72
+ Full audit mode requires independent delegated hunters and verifiers. A
73
+ single agent's self-review cannot satisfy that independence. Target-controlled
74
+ execution additionally requires the upstream OS-enforced sandbox: network
75
+ isolation, sanitized environment, read-only target/toolchain, assigned scratch
76
+ writes, and explicit resource limits. A generic terminal sandbox or a
77
+ `run-check` receipt does not establish all these controls. If a required
78
+ capability is unavailable, retain the exact blocker and incomplete or
79
+ `needs_validation` status as required upstream; do not weaken the evidence
80
+ bar. No live endpoint probing, dependency fetching, publication, or paid
81
+ service use is authorized by loading this skill.
82
+
83
+ ## Findings and ForgeLoop authority
84
+
85
+ Preserve upstream verdicts:
86
+
87
+ - `confirmed`: a source-grounded boundary failure with the required validation;
88
+ severity describes the demonstrated impact.
89
+ - `needs_validation`: an exact source-grounded hypothesis with a missing fact;
90
+ it has no severity.
91
+ - `rejected`: a candidate disproved by validation.
92
+
93
+ The six phases produce architecture and coverage records, findings, independent
94
+ record verification, and reports. Run both upstream validators against the
95
+ artifacts using the argument contracts documented in the skill. They validate
96
+ report structure and consistency; passing them does not prove that the target
97
+ is secure, that every attack surface was covered, or that a finding is true.
98
+
99
+ Findings remain advisory observations. They cannot satisfy ForgeLoop gates,
100
+ change claims, advance phases, or establish `COMPLETE` or `VALID`. The
101
+ [Security Review provider](./SECURITY_REVIEW.md) is a separate host-injected
102
+ observation API; this bundle does not register a provider or import reports
103
+ into it. Its normalized finding contract is not interchangeable with the
104
+ upstream report schema.
105
+
106
+ When a finding requires a fix, inspect it, bind it to a scoped contract, and
107
+ verify the behavior through canonical ForgeLoop checks. Use `run-check` for
108
+ exact-command provenance where execution is authorized. Never copy a report
109
+ directly into task state or relabel it as ForgeLoop-owned evidence. The
110
+ canonical runtime and validators retain all completion authority.
111
+
112
+ ## Provenance and maintenance
113
+
114
+ - Source: [cloudflare/security-audit-skill](https://github.com/cloudflare/security-audit-skill).
115
+ - Pinned commit: `c1c8a8c1471069fb0e188eeaff69b8e8db6564a8`.
116
+ - Upstream directory: `skills/security-audit/`; `LICENSE` comes from the
117
+ upstream repository root.
118
+ - License: [MIT, copyright Cloudflare, Inc.](../skills/security-audit/LICENSE),
119
+ retained separately from ForgeLoop's license.
120
+ - [PIN.json](../skills/security-audit/PIN.json) records SHA-256 hashes of every
121
+ upstream file, including the license. The checker rejects changed, missing,
122
+ extra, or symlinked entries without executing the skill.
123
+ The repository's `.gitattributes` preserves the entire companion tree as
124
+ bytes, including CJS validators and the license, across CRLF checkout settings.
125
+
126
+ The hashes detect drift against the reviewed manifest; they are not a
127
+ signature or a sandbox. Updating the companion is an explicit maintenance
128
+ change: review the exact upstream revision and license, replace the complete
129
+ upstream tree, regenerate its file hashes, update the documented pin, run the
130
+ integrity checker and both upstream validator suites, and verify package
131
+ contents. Do not silently fetch a newer revision during normal operation.
@@ -57,6 +57,12 @@ ForgeLoop-owned validation and evidence contract.
57
57
 
58
58
  ## Operational rules
59
59
 
60
+ The optional bundled [Cloudflare security audit companion](./SECURITY_AUDIT_SKILL.md)
61
+ is an agent workflow with a separate report schema. It does not register a
62
+ Security Review provider or automatically import its findings. An upstream
63
+ `needs_validation` record must not be promoted to a severity-bearing confirmed
64
+ finding or canonical evidence by an adapter.
65
+
60
66
  - Keep registration lazy and explicit.
61
67
  - Use a host-owned provider and a bounded request.
62
68
  - Treat findings as advisory observations, not proof of `VALID`, `COMPLETE`,
@@ -0,0 +1,80 @@
1
+ # Stable ForgeLoop 2.0.0 acceptance
2
+
3
+ This record separates supported operational-writer acceptance from publication,
4
+ production cutover and universal process exclusion. Historical migration
5
+ scoreboards retain their original source and dates; this record is the current
6
+ release pointer.
7
+
8
+ ## Supported writer boundary
9
+
10
+ The source review covers every core/MCP runtime JavaScript module, 105 literal
11
+ filesystem modules, 457 lexically bound filesystem/wrapper references and 16
12
+ indirect references. The inventory has no nonliteral runtime imports. Ninety-five
13
+ filesystem modules match the prior reviewed bytes; ten changed modules were
14
+ reviewed against their exact deltas. Source hashes, roles, indirect-reference
15
+ dispositions, authority chains and limits are retained in the
16
+ [source review](https://github.com/cassiomc1/forgeloop/blob/61447313c5b13e6eb8d80240a5be5c6eea56a410/benchmarks/storage-sqlite/stable-2.0.0-writer-review.json.gz).
17
+
18
+ Supported CLI, Integration API and MCP dispatch select canonical SQLite.
19
+ Operational state, events, receipts, claims and indexed domain records share the
20
+ native transaction boundary. Portable writers reject operational namespaces;
21
+ mixed native/legacy layouts, foreign or expired contexts and actor-supplied
22
+ persistence capabilities fail closed. Explicit migration and restore admission
23
+ retain independent ownership and quiescence checks.
24
+
25
+ Configuration, installation manifests, exports/bundles, backups, immutable
26
+ attachments, owner-bound maintenance journals/archives, repository-index caches,
27
+ transport state and private scratch files are explicit file-owned exceptions.
28
+ They are not writable operational mirrors. Legacy data requires explicit
29
+ migration; a migrated active project does not silently fall back to JSON.
30
+
31
+ The candidate advertises `soleSQLiteWriter: true` for this reviewed supported
32
+ operational boundary. Source acceptance does not imply final release, registry,
33
+ performance, or production acceptance.
34
+
35
+ ## Validation evidence
36
+
37
+ - [Native candidate audit](https://github.com/cassiomc1/forgeloop/actions/runs/39125623599):
38
+ 15/15 checks on macOS ARM64, Windows x64 and Linux x64, including the new
39
+ review-finding → diagnosis → correction → fresh verification flow.
40
+ - [Windows full suite](https://github.com/cassiomc1/forgeloop/actions/runs/39083442557):
41
+ successful on the runtime correction candidate.
42
+ - [Old-client exclusion](https://github.com/cassiomc1/forgeloop/actions/runs/39125628347):
43
+ successful on native Linux and Windows. Retained evidence records the precise
44
+ inventoried identity/installation and cleanup boundary.
45
+ - macOS source `61447313`: all sixteen real public rollback/owner-death cases
46
+ pass with unchanged source; the separate old-client drill passes with cleanup.
47
+ Raw records are retained under `benchmarks/storage-sqlite/stable-candidate-6144731-darwin-*`.
48
+ - The [earlier-source hosted pair](https://github.com/cassiomc1/forgeloop/actions/runs/39083441154)
49
+ at `e9139a55` passes the owner-approved comparison: 1,000 canonical-rich-all
50
+ tasks, ordinary 10 events, selected 1,000 events, 200 samples per side,
51
+ exact output parity and validated worker completion. Native p95 is 2,205.943 ms
52
+ versus 5,162.466 ms for task listing, and 2,190.628 ms versus 5,177.674 ms for
53
+ project tasks. This is preparation evidence; the final release source must
54
+ repeat the same hosted case before publication.
55
+
56
+ `scripts/verify-stable-storage-review.mjs` checks complete core/MCP runtime
57
+ module membership and normalized source SHA-256 hashes against the reviewed
58
+ manifest. The stable channel guard requires this check; any new module or source
59
+ drift requires review. This is a repository release check, not a signature or
60
+ substitute for the behavioral checks below.
61
+
62
+ Final-source full pre-push/release verification, native candidate checks,
63
+ required exact-head PR checks and the final hosted comparison must all be
64
+ successful. The immutable `v2.0.0` publication workflow preserves the stable
65
+ channel guard and runs full verification; the RC1/RC2 shortcut is inapplicable.
66
+ After publication, verify registry `gitHead`, SHA-512 integrity and tag identity,
67
+ then run fresh unversioned `latest` installations with the expected exact version
68
+ on all three native hosts. The audit also checks both bundled companions.
69
+ Update this source record with terminal release links in the post-publication
70
+ documentation/Audit alignment change; never treat a pending run as successful.
71
+
72
+ ## Limits
73
+
74
+ These checks establish the supported release boundary. Process-kill drills do
75
+ not prove physical power-loss behavior. Raw privileged SQLite access, arbitrary
76
+ host providers/external commands and uninventoried legacy installations are
77
+ outside this proof. Production migration still requires a named target, backup,
78
+ writer inventory and operator-enforced quiescence; no live project was migrated
79
+ by these release tests. No production deployment or Audit binary publication
80
+ is implied by core npm publication.