@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.
- package/CONTRIBUTING.md +3 -1
- package/DOCS_INDEX.md +3 -0
- package/ENG/accessibility-eng.md +6 -6
- package/ENG/clean-code-eng.md +2 -2
- package/ENG/design-code-eng.md +13 -13
- package/ENG/documentation-quality-eng.md +10 -2
- package/ENG/flutter-development-eng.md +38 -59
- package/ENG/games-code-design-web-eng.md +2 -2
- package/ENG/perf-code-eng.md +3 -3
- package/ENG/php-development-eng.md +2 -2
- package/ENG/premium-sites-studio-eng.md +9 -2
- package/ENG/python-development-eng.md +7 -1
- package/ENG/rust-development-eng.md +22 -32
- package/ENG/sec-code-eng.md +19 -3
- package/ENG/taste-frontend-eng.md +108 -1
- package/ENG/test-code-eng.md +2 -2
- package/GUIDE_ROUTER.md +18 -4
- package/README.md +24 -20
- package/THIRD_PARTY_NOTICES.md +59 -6
- package/docs/AGENT_PROTOCOL_SUMMARY.md +1 -1
- package/docs/AGENT_SKILL.md +31 -0
- package/docs/DOCUMENTATION_GUIDE.md +6 -0
- package/docs/FORGELOOP_AUDIT.md +71 -0
- package/docs/GETTING_STARTED.md +6 -0
- package/docs/GUIDE_MAINTENANCE.md +106 -0
- package/docs/OPENSRC_ADAPTER.md +1 -1
- package/docs/PACKAGE_CONTENTS.md +25 -2
- package/docs/RELEASE_CHECKLIST.md +79 -20
- package/docs/REVENUE_CENTRIC_DESIGN.md +69 -0
- package/docs/SECURITY_AUDIT_SKILL.md +131 -0
- package/docs/SECURITY_REVIEW.md +6 -0
- package/docs/STABLE_2_ACCEPTANCE.md +80 -0
- package/docs/TROUBLESHOOTING.md +15 -2
- package/docs/documentation-manifest.json +255 -0
- package/package.json +14 -4
- package/scripts/generate-forgeloop-skill.mjs +14 -0
- package/scripts/verify-revenue-design-skill.mjs +37 -0
- package/scripts/verify-security-audit-skill.mjs +68 -0
- package/skills/forgeloop/SKILL.md +14 -0
- package/skills/forgeloop/references/revenue-centric-design/LICENSE +30 -0
- package/skills/forgeloop/references/revenue-centric-design/PIN.json +14 -0
- package/skills/forgeloop/references/revenue-centric-design/SKILL.md +64 -0
- package/skills/forgeloop/references/revenue-centric-design/references/playbook.md +36 -0
- package/skills/security-audit/AI-AND-LLM.md +83 -0
- package/skills/security-audit/ATTACK-CLASSES.md +130 -0
- package/skills/security-audit/CLIENT-SIDE.md +83 -0
- package/skills/security-audit/CLOUD-AND-DEPLOYMENT.md +86 -0
- package/skills/security-audit/DATA-ISOLATION-AND-LIFECYCLE.md +84 -0
- package/skills/security-audit/DESKTOP-MOBILE-AND-LOCAL-IPC.md +89 -0
- package/skills/security-audit/HUNTING.md +251 -0
- package/skills/security-audit/LICENSE +21 -0
- package/skills/security-audit/MEMORY-SAFETY-AND-BINARY.md +101 -0
- package/skills/security-audit/PIN.json +30 -0
- package/skills/security-audit/PROTOCOLS-RPC-AND-MESSAGING.md +81 -0
- package/skills/security-audit/RECONNAISSANCE.md +156 -0
- package/skills/security-audit/RESOURCE-EXHAUSTION-AND-AVAILABILITY.md +78 -0
- package/skills/security-audit/SKILL.md +192 -0
- package/skills/security-audit/SUPPLY-CHAIN-AND-RELEASE.md +73 -0
- package/skills/security-audit/VALIDATION-AND-REPORTING.md +186 -0
- package/skills/security-audit/WEB-PROTOCOL-AND-AUTH.md +105 -0
- package/skills/security-audit/report-schema.json +461 -0
- package/skills/security-audit/validate-coverage-ledger.cjs +872 -0
- package/skills/security-audit/validate-coverage-ledger.test.cjs +740 -0
- package/skills/security-audit/validate-findings.cjs +773 -0
- package/skills/security-audit/validate-findings.test.cjs +652 -0
- package/src/core/completion-artifacts.js +4 -7
- package/src/core/diagnosis.js +3 -5
- package/src/core/diagnostic-record.js +4 -4
- package/src/core/next-action-recovery-phases.js +3 -0
- package/src/core/next-action-review-correction.js +26 -0
- package/src/core/next-action-review-phase.js +11 -10
- package/src/core/reconcile-closure.js +5 -0
- package/src/core/review-correction.js +51 -0
- 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.
|
package/docs/OPENSRC_ADAPTER.md
CHANGED
|
@@ -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
|
-
-
|
|
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).
|
package/docs/PACKAGE_CONTENTS.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Core npm package contents
|
|
2
2
|
|
|
3
|
-
This page describes the intentional boundary of the
|
|
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
|
|
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
|
-
`
|
|
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 `
|
|
20
|
-
|
|
21
|
-
|
|
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
|
-
##
|
|
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.
|
|
62
|
-
transitive-authority review
|
|
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
|
|
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
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
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
|
-
|
|
85
|
-
|
|
86
|
-
|
|
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.
|
package/docs/SECURITY_REVIEW.md
CHANGED
|
@@ -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.
|