@cassiomc1/forgeloop 2.0.0-rc.5 → 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 (71) hide show
  1. package/CONTRIBUTING.md +3 -1
  2. package/DOCS_INDEX.md +2 -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 +15 -13
  19. package/THIRD_PARTY_NOTICES.md +59 -6
  20. package/docs/AGENT_PROTOCOL_SUMMARY.md +1 -1
  21. package/docs/AGENT_SKILL.md +16 -0
  22. package/docs/DOCUMENTATION_GUIDE.md +6 -0
  23. package/docs/GUIDE_MAINTENANCE.md +106 -0
  24. package/docs/PACKAGE_CONTENTS.md +18 -0
  25. package/docs/RELEASE_CHECKLIST.md +41 -29
  26. package/docs/REVENUE_CENTRIC_DESIGN.md +69 -0
  27. package/docs/SECURITY_AUDIT_SKILL.md +131 -0
  28. package/docs/SECURITY_REVIEW.md +6 -0
  29. package/docs/STABLE_2_ACCEPTANCE.md +80 -0
  30. package/docs/TROUBLESHOOTING.md +12 -0
  31. package/docs/documentation-manifest.json +244 -0
  32. package/package.json +12 -3
  33. package/scripts/generate-forgeloop-skill.mjs +8 -0
  34. package/scripts/verify-revenue-design-skill.mjs +37 -0
  35. package/scripts/verify-security-audit-skill.mjs +68 -0
  36. package/skills/forgeloop/SKILL.md +8 -0
  37. package/skills/forgeloop/references/revenue-centric-design/LICENSE +30 -0
  38. package/skills/forgeloop/references/revenue-centric-design/PIN.json +14 -0
  39. package/skills/forgeloop/references/revenue-centric-design/SKILL.md +64 -0
  40. package/skills/forgeloop/references/revenue-centric-design/references/playbook.md +36 -0
  41. package/skills/security-audit/AI-AND-LLM.md +83 -0
  42. package/skills/security-audit/ATTACK-CLASSES.md +130 -0
  43. package/skills/security-audit/CLIENT-SIDE.md +83 -0
  44. package/skills/security-audit/CLOUD-AND-DEPLOYMENT.md +86 -0
  45. package/skills/security-audit/DATA-ISOLATION-AND-LIFECYCLE.md +84 -0
  46. package/skills/security-audit/DESKTOP-MOBILE-AND-LOCAL-IPC.md +89 -0
  47. package/skills/security-audit/HUNTING.md +251 -0
  48. package/skills/security-audit/LICENSE +21 -0
  49. package/skills/security-audit/MEMORY-SAFETY-AND-BINARY.md +101 -0
  50. package/skills/security-audit/PIN.json +30 -0
  51. package/skills/security-audit/PROTOCOLS-RPC-AND-MESSAGING.md +81 -0
  52. package/skills/security-audit/RECONNAISSANCE.md +156 -0
  53. package/skills/security-audit/RESOURCE-EXHAUSTION-AND-AVAILABILITY.md +78 -0
  54. package/skills/security-audit/SKILL.md +192 -0
  55. package/skills/security-audit/SUPPLY-CHAIN-AND-RELEASE.md +73 -0
  56. package/skills/security-audit/VALIDATION-AND-REPORTING.md +186 -0
  57. package/skills/security-audit/WEB-PROTOCOL-AND-AUTH.md +105 -0
  58. package/skills/security-audit/report-schema.json +461 -0
  59. package/skills/security-audit/validate-coverage-ledger.cjs +872 -0
  60. package/skills/security-audit/validate-coverage-ledger.test.cjs +740 -0
  61. package/skills/security-audit/validate-findings.cjs +773 -0
  62. package/skills/security-audit/validate-findings.test.cjs +652 -0
  63. package/src/core/completion-artifacts.js +4 -7
  64. package/src/core/diagnosis.js +3 -5
  65. package/src/core/diagnostic-record.js +4 -4
  66. package/src/core/next-action-recovery-phases.js +3 -0
  67. package/src/core/next-action-review-correction.js +26 -0
  68. package/src/core/next-action-review-phase.js +11 -10
  69. package/src/core/reconcile-closure.js +5 -0
  70. package/src/core/review-correction.js +51 -0
  71. package/src/storage/capabilities.js +1 -1
@@ -4,14 +4,30 @@ 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
- ## Current published candidate — 2026-10-14
7
+ ## Stable 2.0.0 candidate — 2026-10-18
8
8
 
9
- The public core package is `2.0.0-rc.4`; npm `latest` and `next` both resolve
10
- to RC4. It requires Node.js 24.19.0+ with built-in `node:sqlite`. The MCP
11
- companion retains restricted distribution. RC4 is a release candidate;
12
- `soleSQLiteWriter` remains false and stable/production acceptance is open.
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.
13
14
 
14
- Observed release evidence:
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
15
31
 
16
32
  - [RC4 verification and publication](https://github.com/cassiomc1/forgeloop/actions/runs/38629809865)
17
33
  passed full release checks and published with provenance.
@@ -20,20 +36,11 @@ Observed release evidence:
20
36
  - [Default latest-install audit](https://github.com/cassiomc1/forgeloop/actions/runs/38669237414)
21
37
  installed the unversioned public package with a fresh npm cache,
22
38
  configuration, install prefix and project; all 15 checks passed on each OS.
23
- This run uses the test-harness branch `codex/latest-user-audit-20261014`;
24
- its `latest` input is not present in the main-branch workflow.
39
+ Those results describe RC4, not a later stable package.
25
40
 
26
- The published npm `gitHead` and immutable `v2.0.0-rc.4` tag identify
41
+ The published RC4 npm `gitHead` and immutable `v2.0.0-rc.4` tag identify
27
42
  `d05c17cddda6a09581d526732b08eb0789b9734f`. The RC3 tag is retained; its
28
- publication was cancelled before npm publication. RC4 carries those runtime
29
- fixes plus the Windows archive-repair test correction.
30
-
31
- Verify the live registry before relying on a channel:
32
-
33
- ```bash
34
- npm view @cassiomc1/forgeloop version dist-tags --json
35
- npm view @cassiomc1/forgeloop@2.0.0-rc.4 gitHead dist.integrity --json
36
- ```
43
+ publication was cancelled before npm publication.
37
44
 
38
45
  ## Runtime corrections after RC2
39
46
 
@@ -44,12 +51,18 @@ acceptance remains separate; a passing new-user audit does not change
44
51
  `soleSQLiteWriter` or authorize a stable 2.x release. Candidates publish to
45
52
  `next` under the existing release-channel policy.
46
53
 
47
- The `Published npm new-user SQLite audit` workflow supports `candidate` and
48
- `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
49
56
  installation, home directory and project on each platform. After publication,
50
- dispatch the same workflow with source `npm` and the exact new version. Require
51
- every check to pass, including live Jev health, concurrent task creation,
52
- 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.
53
66
  Supply `FORGELOOP_NPM_AUDIT_JEV_KEY` through GitHub Actions secrets and remove
54
67
  temporary credentials after the runs finish.
55
68
 
@@ -89,8 +102,8 @@ p95 result is claimed by the short path. The existing 1,000-task parity run
89
102
  `38483369676` is retained for review; no fresh 200-repeat benchmark is dispatched.
90
103
 
91
104
  The writer inventory covers every current `src` JavaScript module and records
92
- imports plus potential write sites. Alias, computed-path, external-caller, and
93
- 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
94
107
  `wholeConsumerClosure: false`; it prevents drift and does not authorize setting
95
108
  `soleSQLiteWriter` to true.
96
109
 
@@ -128,10 +141,9 @@ current release. Its exact-identity and tag guards are retained.
128
141
 
129
142
  ## ForgeLoop 2.0.0 candidate scope
130
143
 
131
- A stable 2.0.0 release is not ready while SQLite migration plan §10 has
132
- open consumer-closure, current-source performance, or platform evidence. Keep
133
- all acceptance boxes open until their evidence is bound to the exact candidate
134
- 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.
135
147
 
136
148
  The 2.0.0 candidate carries the SQLite storage transition alongside the
137
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.
@@ -280,6 +280,18 @@ forgeloop record-diagnosis --task <id> \
280
280
  --next-safe-action="Smallest safe action to address the hypothesis"
281
281
  ```
282
282
 
283
+ A new finding discovered in `REVIEWING` can also be diagnosed there. First
284
+ record the actual negative observation with `record-check --kind manual-review
285
+ --status failed --evidence-kind OBSERVED`, binding it to the affected
286
+ requirement. A blocked finding uses `--status blocked --evidence-kind BLOCKED`.
287
+ Passed evidence remains restricted to `VERIFYING`. Both legacy and structured
288
+ diagnoses must reference a failed or blocked check from the current cycle.
289
+ Then follow `next`, enter `CORRECTING`, and rerun verification in the new cycle.
290
+ A task already in `CORRECTING` from review follows the same finding and
291
+ diagnosis requirements. Repository-only drift may be refreshed through
292
+ `reconcile-closure` after its contract-bound check passes; that refresh neither
293
+ creates a diagnosis nor authorizes a retry.
294
+
283
295
  Then advance to `CORRECTING`:
284
296
 
285
297
  ```bash