@thomasminh1995/depverdict 0.6.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (252) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +518 -0
  3. package/bin/depverdict.js +7 -0
  4. package/bin/upgradelens.js +7 -0
  5. package/docs/GR-01-Semantic-Grounding-Failure-Analysis.md +309 -0
  6. package/docs/GR-02-Versioned-Action-Evaluation-Criteria.md +187 -0
  7. package/docs/GR-03-Extractive-Contract-Safety-Experiment.md +242 -0
  8. package/docs/GR-04-Versioned-Production-Extractive-Contract.md +154 -0
  9. package/docs/IA-01-Repository-Usage-Discovery.md +122 -0
  10. package/docs/IA-02-Repository-Impact-Analysis.md +118 -0
  11. package/docs/IA-03-Repository-Impact-Evidence.md +160 -0
  12. package/docs/IA-04-CLI-Orchestration.md +235 -0
  13. package/docs/IA-05-Real-Provider-Validation.md +235 -0
  14. package/docs/IA-05-VinGrade-Validation.md +339 -0
  15. package/docs/MVP-01.md +48 -0
  16. package/docs/MVP-02-Architecture.md +536 -0
  17. package/docs/MVP-02-CLI-HTTP-Runtime.md +50 -0
  18. package/docs/MVP-02-HTTP-Lifecycle.md +37 -0
  19. package/docs/MVP-02-Knowledge-Manifest-Generation.md +75 -0
  20. package/docs/MVP-02-Knowledge-Manifest.md +279 -0
  21. package/docs/MVP-02-Knowledge-Research-Orchestration.md +62 -0
  22. package/docs/MVP-02-Knowledge-Store.md +87 -0
  23. package/docs/MVP-02-PyPI-Registry-Adapter.md +97 -0
  24. package/docs/MVP-02-Research-Planning.md +196 -0
  25. package/docs/MVP-02-Source-Provenance.md +81 -0
  26. package/docs/MVP-02-npm-Registry-Adapter.md +99 -0
  27. package/docs/RR-01-End-to-End-and-Real-Provider-Validation.md +393 -0
  28. package/docs/RR-01-RERUN-Extractive-Contract-Validation.md +566 -0
  29. package/docs/RR-02-Full-Product-Workflow-and-Developer-CLI-UX-Review.md +35 -0
  30. package/docs/RR02-FIX-01-Persistent-Qualification-Resolution.md +32 -0
  31. package/docs/RR02-FIX-02-Stage-aware-CLI-Progress-and-Heartbeat.md +28 -0
  32. package/docs/RR02-FIX-03-npm-Capture-Evidence-Exclusion.md +33 -0
  33. package/docs/RR02-FIX-03A-Complete-Package-Exclusion-and-Evidence-Commit.md +223 -0
  34. package/docs/RR02-FIX-04-Event-loop-safe-Heartbeat.md +393 -0
  35. package/docs/RR02-FIX-05-Materialize-Persisted-Qualification.md +207 -0
  36. package/docs/RR02-RERUN-CLI-Qualification-Progress-UX-and-Package-Validation.md +342 -0
  37. package/docs/VinGrade-MVP-02-Validation.md +480 -0
  38. package/docs/VinGrade-RC02-Live-Validation.md +273 -0
  39. package/docs/ai-capability-discovery.md +573 -0
  40. package/docs/ai-engineering-production-readiness.md +390 -0
  41. package/docs/ai-engineering-review.md +251 -0
  42. package/docs/ai-runtime-governance-discovery.md +754 -0
  43. package/docs/architecture-overview.md +78 -0
  44. package/docs/cli-progress.md +111 -0
  45. package/docs/decisions/diff-01-brand-distribution-identity.md +450 -0
  46. package/docs/decisions/diff-02-identity-compatibility-contract.md +274 -0
  47. package/docs/decisions/diff-03-repository-docs-community-migration.md +165 -0
  48. package/docs/decisions/diff-04-release-evidence-gap-acceptance.md +110 -0
  49. package/docs/discovery/mvp-05-ai-migration-planning-discovery.md +350 -0
  50. package/docs/gateway-runtime-discovery.md +614 -0
  51. package/docs/live-ai-validation.md +299 -0
  52. package/docs/migration-planning-qualification-resolution.md +99 -0
  53. package/docs/migrations/upgradelens-to-depverdict.md +97 -0
  54. package/docs/mp-r03-deterministic-upgrade-decision-architecture.md +135 -0
  55. package/docs/mp-r04-evidence-bounded-migration-handoff-architecture.md +116 -0
  56. package/docs/mp-r05-product-completion-and-decision-first-cli-architecture.md +162 -0
  57. package/docs/mvp-05-deterministic-context-runtime.md +127 -0
  58. package/docs/mvp-05-migration-checklist-contract.md +166 -0
  59. package/docs/mvp-05-migration-checklist-orchestration.md +105 -0
  60. package/docs/mvp-05-migration-evaluation-and-qualification.md +135 -0
  61. package/docs/mvp-05-provider-neutral-generator.md +79 -0
  62. package/docs/ollama-local-smoke-validation.md +156 -0
  63. package/docs/openai-compatible-runtime-discovery.md +789 -0
  64. package/docs/openrouter-one-dependency-validation.md +205 -0
  65. package/docs/oss-02-package-guard-hardening-architecture.md +131 -0
  66. package/docs/oss-04-public-ci-package-metadata-architecture.md +142 -0
  67. package/docs/package-content-policy.md +98 -0
  68. package/docs/releases/v0.5.0-technical-preview.md +114 -0
  69. package/docs/releases/v0.6.0-alpha.1-depverdict-preview.md +101 -0
  70. package/docs/reviews/diff-02-identity-contract-compatibility.md +413 -0
  71. package/docs/reviews/diff-03-repository-docs-community-migration.md +364 -0
  72. package/docs/reviews/diff-04-depverdict-distribution-identity-readiness-rereview.md +453 -0
  73. package/docs/reviews/diff-04-fix-post-rename-identity-release-remediation.md +310 -0
  74. package/docs/reviews/diff-05-final-preview-distribution-qualification.md +561 -0
  75. package/docs/reviews/mvp-05-final-product-value-workflow-rereview.md +471 -0
  76. package/docs/reviews/mvp-05-product-workflow-review.md +605 -0
  77. package/docs/reviews/oss-01-duplicate-artifact-investigation-cleanup.md +411 -0
  78. package/docs/reviews/oss-02-package-guard-hardening.md +303 -0
  79. package/docs/reviews/oss-03-community-scaffolding.md +378 -0
  80. package/docs/reviews/oss-04-public-ci-package-metadata.md +439 -0
  81. package/docs/reviews/oss-05-technical-preview-qualification.md +482 -0
  82. package/docs/reviews/upgradelens-vs-upgradedepdetective-source-comparison.md +355 -0
  83. package/docs/reviews/v0.5.0-pre-release-smoke.md +263 -0
  84. package/docs/reviews/v0.5.0-version-bump-release-verification.md +306 -0
  85. package/docs/runtime-contract-discovery.md +521 -0
  86. package/docs/structured-output-compatibility-report.md +100 -0
  87. package/docs/ts-fix-01-exact-duplicate-occurrence-target-selection-architecture.md +111 -0
  88. package/docs/version-analysis-architecture.md +827 -0
  89. package/eval/README.md +86 -0
  90. package/eval/datasets/generic/declared-constraint.json +59 -0
  91. package/eval/datasets/generic/evidence-conflict.json +73 -0
  92. package/eval/datasets/generic/major-breaking-release.json +66 -0
  93. package/eval/datasets/generic/missing-evidence.json +46 -0
  94. package/eval/datasets/generic/patch-release-low.json +59 -0
  95. package/eval/datasets/node/axios-patch-low.json +59 -0
  96. package/eval/datasets/node/react-major-breaking.json +66 -0
  97. package/eval/datasets/node/react-minor-compatibility.json +66 -0
  98. package/eval/datasets/python/fastapi-deprecation.json +66 -0
  99. package/eval/datasets/python/pydantic-major-breaking.json +66 -0
  100. package/eval/migration-planning/golden-dataset-v2.json +306 -0
  101. package/eval/migration-planning/golden-dataset.json +214 -0
  102. package/eval/schemas/expected-result.schema.json +88 -0
  103. package/eval/schemas/golden-case.schema.json +181 -0
  104. package/package.json +57 -0
  105. package/schemas/ai-scorecard.schema.json +132 -0
  106. package/schemas/benchmark-report.schema.json +189 -0
  107. package/schemas/benchmark.schema.json +55 -0
  108. package/schemas/capability-profile.schema.json +44 -0
  109. package/schemas/conformance-report.schema.json +150 -0
  110. package/schemas/deployment-profile.schema.json +64 -0
  111. package/schemas/evaluation-report.schema.json +158 -0
  112. package/schemas/knowledge-evidence-bundle.schema.json +150 -0
  113. package/schemas/knowledge-manifest.schema.json +548 -0
  114. package/schemas/metrics.schema.json +178 -0
  115. package/schemas/migration-checklist-extractive-candidate.schema.json +42 -0
  116. package/schemas/migration-checklist.schema.json +706 -0
  117. package/schemas/migration-evaluation-dataset-v2.schema.json +208 -0
  118. package/schemas/migration-evaluation-dataset.schema.json +204 -0
  119. package/schemas/migration-planning-qualification-record.schema.json +234 -0
  120. package/schemas/project-manifest.schema.json +308 -0
  121. package/schemas/qualification-record.schema.json +56 -0
  122. package/schemas/repository-impact-evidence.schema.json +232 -0
  123. package/schemas/repository-impact.schema.json +202 -0
  124. package/schemas/upgrade-decision.schema.json +273 -0
  125. package/schemas/usage-index.schema.json +179 -0
  126. package/schemas/version-analysis.schema.json +449 -0
  127. package/src/ai-runtime-debug.js +325 -0
  128. package/src/ai-runtime-error.js +42 -0
  129. package/src/ai-runtime.js +174 -0
  130. package/src/ai-scorecard.js +204 -0
  131. package/src/ai-version-analysis.js +484 -0
  132. package/src/artifact-root-compatibility.js +91 -0
  133. package/src/benchmark-report.js +111 -0
  134. package/src/benchmark-runner.js +191 -0
  135. package/src/canonical-json.js +69 -0
  136. package/src/cli.js +1299 -0
  137. package/src/conformance-report.js +158 -0
  138. package/src/conformance-runner.js +253 -0
  139. package/src/constants.js +73 -0
  140. package/src/cooperative-scheduler.js +79 -0
  141. package/src/dependencies.js +44 -0
  142. package/src/dependency-ai-context.js +625 -0
  143. package/src/detectors.js +253 -0
  144. package/src/discovery.js +234 -0
  145. package/src/ecosystem-version-adapter.js +294 -0
  146. package/src/environment-compatibility.js +77 -0
  147. package/src/evaluation-comparator.js +158 -0
  148. package/src/evaluation-report.js +76 -0
  149. package/src/evaluation-runner.js +248 -0
  150. package/src/evidence-source-adapter.js +472 -0
  151. package/src/files.js +89 -0
  152. package/src/governance-diagnostics.js +64 -0
  153. package/src/governance-loader.js +63 -0
  154. package/src/governance-metadata.js +346 -0
  155. package/src/governance-validator.js +360 -0
  156. package/src/http/bounded-fetch.js +278 -0
  157. package/src/http/cli-http-runtime.js +44 -0
  158. package/src/impact/input-loader.js +157 -0
  159. package/src/impact/matcher.js +40 -0
  160. package/src/impact/repository-impact.js +199 -0
  161. package/src/impact/runtime.js +24 -0
  162. package/src/impact/status.js +62 -0
  163. package/src/impact/writer.js +30 -0
  164. package/src/impact-evidence/input-loader.js +202 -0
  165. package/src/impact-evidence/repository-impact-evidence.js +234 -0
  166. package/src/impact-evidence/runtime.js +16 -0
  167. package/src/impact-evidence/writer.js +30 -0
  168. package/src/index.js +563 -0
  169. package/src/installed-version-baseline.js +196 -0
  170. package/src/knowledge-cache.js +324 -0
  171. package/src/knowledge-evidence-bundle.js +101 -0
  172. package/src/knowledge-evidence-producer.js +233 -0
  173. package/src/knowledge-manifest-builder.js +188 -0
  174. package/src/knowledge-manifest-writer.js +32 -0
  175. package/src/knowledge-manifest.js +255 -0
  176. package/src/knowledge-research.js +615 -0
  177. package/src/metrics-engine.js +205 -0
  178. package/src/migration-checklist/ai-candidate.js +320 -0
  179. package/src/migration-checklist/assembler.js +37 -0
  180. package/src/migration-checklist/context-runtime.js +828 -0
  181. package/src/migration-checklist/evaluation/action-criteria.js +244 -0
  182. package/src/migration-checklist/evaluation/comparator-v2.js +332 -0
  183. package/src/migration-checklist/evaluation/comparator.js +279 -0
  184. package/src/migration-checklist/evaluation/dataset-v2.js +227 -0
  185. package/src/migration-checklist/evaluation/dataset.js +336 -0
  186. package/src/migration-checklist/evaluation/extractive-fixtures-v2.js +148 -0
  187. package/src/migration-checklist/evaluation/metrics-v2.js +226 -0
  188. package/src/migration-checklist/evaluation/metrics.js +158 -0
  189. package/src/migration-checklist/evaluation/qualification-v2.js +321 -0
  190. package/src/migration-checklist/evaluation/qualification.js +239 -0
  191. package/src/migration-checklist/evaluation/runner-v2.js +294 -0
  192. package/src/migration-checklist/evaluation/runner.js +194 -0
  193. package/src/migration-checklist/evaluation/scorecard-v2.js +106 -0
  194. package/src/migration-checklist/evaluation/scorecard.js +86 -0
  195. package/src/migration-checklist/extractive-candidate.js +166 -0
  196. package/src/migration-checklist/extractive-prompt.js +62 -0
  197. package/src/migration-checklist/generator.js +702 -0
  198. package/src/migration-checklist/grounding-policy.js +117 -0
  199. package/src/migration-checklist/input-loader.js +613 -0
  200. package/src/migration-checklist/migration-checklist.js +635 -0
  201. package/src/migration-checklist/presentation.js +292 -0
  202. package/src/migration-checklist/progress.js +96 -0
  203. package/src/migration-checklist/prompt.js +83 -0
  204. package/src/migration-checklist/qualification-guard.js +462 -0
  205. package/src/migration-checklist/qualification-resolution.js +122 -0
  206. package/src/migration-checklist/qualification-store.js +225 -0
  207. package/src/migration-checklist/runtime.js +205 -0
  208. package/src/migration-checklist/verification.js +134 -0
  209. package/src/migration-checklist/writer.js +35 -0
  210. package/src/openai-compatible-provider.js +451 -0
  211. package/src/orchestration/failure-log.js +32 -0
  212. package/src/orchestration/pipeline.js +200 -0
  213. package/src/orchestration/progress-events.js +337 -0
  214. package/src/orchestration/progress-reporter.js +131 -0
  215. package/src/orchestration/text-writer.js +22 -0
  216. package/src/portable.js +13 -0
  217. package/src/product-completion.js +249 -0
  218. package/src/project-manifest-input.js +90 -0
  219. package/src/project-manifest.js +141 -0
  220. package/src/python-requirements.js +137 -0
  221. package/src/registry/npm-packument.js +256 -0
  222. package/src/registry/npm-registry-adapter.js +262 -0
  223. package/src/registry/pypi-project.js +300 -0
  224. package/src/registry/pypi-registry-adapter.js +235 -0
  225. package/src/registry/sanitize-registry-body.js +51 -0
  226. package/src/renderers/console.js +160 -0
  227. package/src/renderers/impact-presentation.js +278 -0
  228. package/src/renderers/markdown.js +172 -0
  229. package/src/research-plan.js +455 -0
  230. package/src/runtime-conformance.js +275 -0
  231. package/src/source-provenance.js +393 -0
  232. package/src/source-url.js +62 -0
  233. package/src/structured-output-schema.js +66 -0
  234. package/src/target-selector.js +306 -0
  235. package/src/upgrade-decision/input-loader.js +107 -0
  236. package/src/upgrade-decision/presentation.js +43 -0
  237. package/src/upgrade-decision/runtime.js +21 -0
  238. package/src/upgrade-decision/upgrade-decision.js +626 -0
  239. package/src/upgrade-decision/writer.js +30 -0
  240. package/src/usage/analyzer-registry.js +63 -0
  241. package/src/usage/coverage.js +116 -0
  242. package/src/usage/input-loader.js +139 -0
  243. package/src/usage/js/analyzer.js +240 -0
  244. package/src/usage/js/parser.js +21 -0
  245. package/src/usage/runtime.js +187 -0
  246. package/src/usage/scope.js +44 -0
  247. package/src/usage/source-files.js +50 -0
  248. package/src/usage/usage-index.js +217 -0
  249. package/src/usage/writer.js +31 -0
  250. package/src/version-analysis-loader.js +203 -0
  251. package/src/version-analysis-manifest.js +314 -0
  252. package/src/version-analysis-writer.js +30 -0
@@ -0,0 +1,310 @@
1
+ # DIFF-04-FIX — Post-Rename Identity and Historical Release Remediation
2
+
3
+ ## 1. Executive verdict and gate
4
+
5
+ ```text
6
+ Verdict: DIFF_04_FIX_LOCAL_READY
7
+ Gate: PROCEED_TO_SEPARATELY_AUTHORIZED_GIT_WORKFLOW_AND_HOSTED_CI
8
+ ```
9
+
10
+ Local package metadata, current operational documentation, release-evidence
11
+ policy, regression tests, and the approved five-release live metadata repair are
12
+ complete. The one-time evidence-gap statement was explicitly accepted.
13
+
14
+ This implementation report does not claim
15
+ `DEPVERDICT_REPOSITORY_DISTRIBUTION_IDENTITY_READY`; that verdict belongs to the
16
+ independent rereview after an exact-SHA hosted run.
17
+
18
+ ## 2. Root causes
19
+
20
+ 1. Package metadata and current operational documents still used the former
21
+ repository URL or described the GitHub rename as pending.
22
+ 2. GitHub Releases `v0.1.1` through `v0.5.0` had been retitled and had body-local
23
+ branding changed as though they were originally DepVerdict releases.
24
+ 3. No complete pre-rename release-ID/state/timestamp/asset inventory was retained.
25
+ The missing past evidence cannot be reconstructed as proof.
26
+
27
+ ## 3. Starting SHA and worktree scope
28
+
29
+ ```text
30
+ Branch: feat/depverdict-rebrand
31
+ Starting SHA: dfe7e073b53f14be7b077b4102b64bfd78f0710a
32
+ Origin: https://github.com/thomasMinh1995/DepVerdict.git
33
+ ```
34
+
35
+ The pre-existing untracked DIFF-04 rereview and RR02 capture trees were inventoried.
36
+ RR02 material was not edited, staged, or included in remediation scope. No
37
+ commit, push, merge, tag, release creation/deletion, or npm publication occurred.
38
+
39
+ ## 4. Package metadata changes
40
+
41
+ `package.json` now requires:
42
+
43
+ ```text
44
+ name: @thomasminh1995/depverdict
45
+ version: 0.6.0-alpha.1
46
+ repository: git+https://github.com/thomasMinh1995/DepVerdict.git
47
+ homepage: https://github.com/thomasMinh1995/DepVerdict#readme
48
+ bugs: https://github.com/thomasMinh1995/DepVerdict/issues
49
+ ```
50
+
51
+ The decision-first description, both executable shims, Node engine policy,
52
+ exports, dependencies, and package allowlist remain unchanged. The lockfile does
53
+ not duplicate these URL fields and was not changed.
54
+
55
+ ## 5. Normative URL and reference classification
56
+
57
+ | Surface | Classification | Result |
58
+ | --- | --- | --- |
59
+ | Package repository/homepage/bugs | `CURRENT_NORMATIVE` | Canonical DepVerdict URLs |
60
+ | README and CONTRIBUTING clone/setup | `CURRENT_NORMATIVE` | Clone and `cd DepVerdict` |
61
+ | SECURITY and Issue Forms | `CURRENT_NORMATIVE` | Canonical private advisory URL |
62
+ | Migration guide former repository URL | `CURRENT_COMPATIBILITY_DOCUMENTATION` | Redirect continuity only |
63
+ | DIFF-03 checkpoint references | `HISTORICAL_RECORD` | Explicitly dated pre-rename truth with current-status addendum |
64
+ | `upgradelens`, `.upgradelens/`, `UPGRADELENS_*` | `CURRENT_COMPATIBILITY_DOCUMENTATION` / protocol fixture | Bounded preview compatibility retained |
65
+ | `generator.name`, schemas, task/reason identifiers | `HISTORICAL_RECORD` / protocol | Frozen; unchanged |
66
+ | `upgradelens.conduct@gmail.com` | verified contact exception | Active bounded preview contact; unchanged |
67
+ | Historical v0.5 source note | `HISTORICAL_RECORD` | Byte digest remains locked |
68
+
69
+ Current operational documents do not depend on the former repository redirect.
70
+
71
+ ## 6. Historical release before/after plan
72
+
73
+ Read-only GitHub API baseline collected at 2026-07-19T10:42:43Z:
74
+
75
+ | ID / tag | Current title | Approved candidate title | Current body SHA-256 | Candidate body SHA-256 |
76
+ | --- | --- | --- | --- | --- |
77
+ | `353312307` / `v0.1.1` | `DepVerdict v0.1.1 — MVP-01 Project Discovery Foundation` | `UpgradeLens v0.1.1 — MVP-01 Project Discovery Foundation` | `72c80ae81fe4432ae5c5c19f5a88db7ed3ce114a879e763bb628c2758b0025dd` | `17c9f1ece26eb1f6af20fb438b800d0cd74f3117aea979566ebb5b16b11c28e1` |
78
+ | `353747096` / `v0.2.0` | `DepVerdict v0.2.0 — Knowledge Research` | `UpgradeLens v0.2.0 — Knowledge Research` | `357a718be404db84510663d485a59d95a9670028f2be77b60de9900e6ecc3080` | `32af0823ca8199a5c041b48ceb4b126d9a0cdec369128463f4da5e9d2d560411` |
79
+ | `354822066` / `v0.3.0` | `DepVerdict v0.3.0 — AI Version Analysis` | `UpgradeLens v0.3.0 — AI Version Analysis` | `6efaeca1fa7b38601e3cb1d1eee984740b36f7ae2da06093fb211f7815da2bfc` | `8b264cb667a555c392f9e688e49fbf91e8145beec19ef76d2b4edb5c1eef7262` |
80
+ | `355150303` / `v0.4.0` | `DepVerdict v0.4.0 — Repository Impact Analytics` | `UpgradeLens v0.4.0 — Repository Impact Analytics` | `83a35b7972090f6d0e6a54db6026b605875430109071d3be56d8ef8aa89cd0a5` | `b71c108f31b1cb31d331cb89bda5fd5aec8fa63ca857d3b86825cd69c3383ff3` |
81
+ | `356244177` / `v0.5.0` | `DepVerdict v0.5.0 — Evidence-Bounded Migration Planning` | `UpgradeLens v0.5.0 — Evidence-Bounded Migration Planning` | `e06386beb973627f65ab9190415eff7577e3da6f986e370eac96f68e2e0a2f44` | `0d556e775bff4c27e16b0090b1203d4d09567d0c3e3d8b28ce353cee16e54eba` |
82
+
83
+ For each release, prepend exactly:
84
+
85
+ ```markdown
86
+ > **Project rename:** This release was originally published under the
87
+ > **UpgradeLens** name. The project is now **DepVerdict**:
88
+ > https://github.com/thomasMinh1995/DepVerdict
89
+ >
90
+ > This historical release remains associated with its original tag and commit.
91
+ ```
92
+
93
+ Then preserve the current body and claims, changing only body-local `DepVerdict`
94
+ product-name tokens to `UpgradeLens`. The exact before/candidate byte counts,
95
+ digests, replacement counts, IDs, states, timestamps, tag objects, targets, and
96
+ assets are recorded in
97
+ `docs/decisions/diff-04-release-evidence-gap-acceptance.md`.
98
+
99
+ ## 7. Maintainer approval and live release update
100
+
101
+ ```text
102
+ Approval: PROVIDED_IN_CODEX_TASK
103
+ Approval recorded: 2026-07-19T11:18:54Z
104
+ Live GitHub Release edits: 5
105
+ ```
106
+
107
+ Approval explicitly covered the five IDs/titles, exact notice and body
108
+ transformation, and the bounded historical evidence-gap statement. It limited
109
+ mutation to title/body and prohibited new tags/releases, npm publication, and
110
+ changes to identity/target/state/assets. No credential was recorded.
111
+
112
+ All five PATCH operations returned HTTP 200. Payloads contained only `name` and
113
+ `body`. One initial shell wrapper used zsh's read-only `status` variable after
114
+ curl command substitution; read-only verification proved that the intended first
115
+ PATCH had completed correctly before the remaining four were attempted.
116
+
117
+ ## 8. Tag, state, and asset post-update verification
118
+
119
+ Pre-edit verification found five matching local/remote annotated tag refs and
120
+ peeled targets. All current releases are public, draft false, prerelease false,
121
+ and report zero assets. GitHub API `target_commitish` reports `main`; peeled tag
122
+ commits are therefore the target-continuity authority.
123
+
124
+ Post-update read-only verification proved that only approved titles/bodies and
125
+ GitHub's API-managed `updated_at` changed. Release IDs, tags, `target_commitish`,
126
+ annotated tag objects, peeled commits, draft/prerelease states, created/published
127
+ timestamps, and complete zero-length asset arrays remained unchanged.
128
+
129
+ | Tag | Peeled target | Post-edit body SHA-256 | Assets |
130
+ | --- | --- | --- | ---: |
131
+ | `v0.1.1` | `95cd3025c27d2c4d8e97f711625541ee0da7dbc0` | `17c9f1ece26eb1f6af20fb438b800d0cd74f3117aea979566ebb5b16b11c28e1` | 0 |
132
+ | `v0.2.0` | `411c9e6216d9476b48d72311c9163b2a563d1e60` | `32af0823ca8199a5c041b48ceb4b126d9a0cdec369128463f4da5e9d2d560411` | 0 |
133
+ | `v0.3.0` | `8fea8ec5b06dd6c85a0f600be1d566d65ef2c7a2` | `8b264cb667a555c392f9e688e49fbf91e8145beec19ef76d2b4edb5c1eef7262` | 0 |
134
+ | `v0.4.0` | `734be0b9395b0bd74454badc010e4df237319cc3` | `b71c108f31b1cb31d331cb89bda5fd5aec8fa63ca857d3b86825cd69c3383ff3` | 0 |
135
+ | `v0.5.0` | `74d57344db254d0109ea951dc7c44853cdad9be0` | `0d556e775bff4c27e16b0090b1203d4d09567d0c3e3d8b28ce353cee16e54eba` | 0 |
136
+
137
+ ## 9. Historical evidence search and classification
138
+
139
+ Searched retained DIFF/OSS/release reports, Git history, ignored sanitized
140
+ v0.5.0 smoke manifests, current local and remote refs, and current GitHub Release
141
+ API state. No complete pre-rename release/asset inventory was found.
142
+
143
+ | Invariant | Classification |
144
+ | --- | --- |
145
+ | `v0.5.0` tag object/peeled target continuity | `PROVEN` |
146
+ | `v0.1.1`–`v0.4.0` current tag object/target agreement | `SUPPORTED_BY_CURRENT_STATE_ONLY` |
147
+ | `v0.5.0` publication time and draft/prerelease state | `PROVEN` |
148
+ | Earlier before-state release IDs/states/timestamps | `UNKNOWN_BEFORE_STATE` |
149
+ | Before-state assets | `UNKNOWN_BEFORE_STATE` |
150
+ | Current zero-asset state | `SUPPORTED_BY_CURRENT_STATE_ONLY` |
151
+ | Conflicting evidence | none found; not equivalent to complete proof |
152
+
153
+ ## 10. One-time evidence-gap acceptance
154
+
155
+ The reviewable record is
156
+ `docs/decisions/diff-04-release-evidence-gap-acceptance.md`, currently
157
+ `ACCEPTED`. It explicitly states that the past evidence was
158
+ not retained, cannot be recreated, and does not prove that assets never existed
159
+ or changed. It establishes the new baseline and a mandatory before/after rule for
160
+ future release mutations.
161
+
162
+ ## 11. Focused and canonical tests
163
+
164
+ Focused coverage includes identity compatibility, qualification resolution,
165
+ CI/package metadata, repository docs, release remediation policy, and package
166
+ guard. After correcting one over-broad URL-history assertion, the new
167
+ repository/release identity subset passed 11/11 and the same tests passed in the
168
+ canonical run.
169
+
170
+ Canonical worktree result:
171
+
172
+ ```text
173
+ 651 tests
174
+ 650 pass
175
+ 0 fail
176
+ 1 known sandbox-loopback skip
177
+ ```
178
+
179
+ The isolated snapshot's first parallel run had one `SIGKILL` timeout in
180
+ `test/http-lifecycle-cli.test.js` under load. The test immediately passed alone,
181
+ then the complete isolated `npm run check` rerun passed:
182
+
183
+ ```text
184
+ 651 tests
185
+ 650 pass
186
+ 0 fail
187
+ 1 known sandbox-loopback skip
188
+ Package guard: 250 files, 0 suspicious artifacts, 32 required assets
189
+ ```
190
+
191
+ Workflow and all Issue Form YAML files parsed. Markdown links/fences passed.
192
+ Placeholder/local-path scan and `git diff --check` passed.
193
+
194
+ ## 12. Tarball content and clean-install results
195
+
196
+ An isolated candidate containing starting HEAD and exactly the 17 DIFF-04-FIX
197
+ files passed canonical checks. The pre-existing DIFF-04 rereview baseline, RR02
198
+ capture trees, tarballs, and temporary data were not copied into the commit
199
+ candidate.
200
+
201
+ Repeated dry-run manifests were byte-identical:
202
+
203
+ ```text
204
+ Package: @thomasminh1995/depverdict@0.6.0-alpha.1
205
+ Files: 250
206
+ Packed / unpacked: 664407 / 2553243 bytes
207
+ npm SHA-1: dd2f4653fcec1b47bbcce7e27fbfb4ce93ae7e85
208
+ Actual tarball SHA-256:
209
+ 763e895ffb29222f432984cdf6cde7e9cb11bf95bee47324456e8f9975331187
210
+ ```
211
+
212
+ These digests identify the qualification tarball immediately before this report's
213
+ status finalization. Because this report itself is package-visible, the exact
214
+ post-report-freeze tarball digest is recorded in the maintainer handoff rather
215
+ than inserted recursively into its own input.
216
+
217
+ The tarball has canonical repository/homepage/bugs metadata, both executable
218
+ shims at mode `0755`, required schemas/runtime/datasets/compatibility assets, and
219
+ no capture tree, runtime artifact root, credential, `.env`, duplicate artifact, or
220
+ nested tarball. An isolated-cache clean install passed. Installed checks passed
221
+ for both shims' `--version` and `--help`, ESM import with 438 exports, schema JSON
222
+ loading, qualification-record loading, and legacy `.upgradelens/` fallback
223
+ diagnostics. The fake qualification remained fail-closed as `IDENTITY_MISMATCH`;
224
+ no real provider was used.
225
+
226
+ ## 13. npm read-only preflight and no-publication evidence
227
+
228
+ The public registry returned HTTP 404 before and after the dry-run: no package,
229
+ version, or dist-tag exists. The only publish-shaped command was:
230
+
231
+ ```text
232
+ npm publish --dry-run --access public --tag preview --ignore-scripts
233
+ ```
234
+
235
+ It passed with `preview`, both bins, 250 files, and no publication. No npm
236
+ credential was requested or used.
237
+
238
+ ## 14. Hosted CI status and exact SHA
239
+
240
+ No commit or push is authorized for this task. Hosted CI for the uncommitted local
241
+ state cannot exist. A new exact-SHA Node 20/22/24 and package-smoke run is required
242
+ after the separately authorized Git workflow.
243
+
244
+ ## 15. Provider calls
245
+
246
+ ```text
247
+ Real provider calls: 0
248
+ ```
249
+
250
+ ## 16. Defects, limitations, and blocked checks
251
+
252
+ - Blocker defects: 0.
253
+ - High defects in local source remediation: 0 after validation.
254
+ - High open external gates: 0.
255
+ - Live historical release identity repair: blocked by required approval.
256
+ - Complete pre-rename release/asset proof: irrecoverably unavailable; bounded
257
+ acceptance pending.
258
+ - Hosted CI: unavailable for an uncommitted/unpushed candidate.
259
+ - npm ownership/authentication: deferred to DIFF-05; no credentials requested.
260
+
261
+ ## 17. Exact files changed or created
262
+
263
+ Modified:
264
+
265
+ ```text
266
+ .github/ISSUE_TEMPLATE/bug_report.yml
267
+ .github/ISSUE_TEMPLATE/config.yml
268
+ CONTRIBUTING.md
269
+ README.md
270
+ SECURITY.md
271
+ docs/decisions/diff-03-repository-docs-community-migration.md
272
+ docs/migrations/upgradelens-to-depverdict.md
273
+ docs/releases/v0.6.0-alpha.1-depverdict-preview.md
274
+ docs/reviews/diff-03-repository-docs-community-migration.md
275
+ package.json
276
+ scripts/package-content-guard.mjs
277
+ test/ci-workflow-metadata.test.js
278
+ test/package-content-guard.test.js
279
+ test/repository-docs-identity.test.js
280
+ ```
281
+
282
+ Created:
283
+
284
+ ```text
285
+ docs/decisions/diff-04-release-evidence-gap-acceptance.md
286
+ docs/reviews/diff-04-fix-post-rename-identity-release-remediation.md
287
+ test/release-identity-remediation.test.js
288
+ ```
289
+
290
+ Total DIFF-04-FIX files: 17. No file is staged. RR02 captures are excluded.
291
+
292
+ ## 18. Pre-existing files preserved
293
+
294
+ The untracked
295
+ `docs/reviews/diff-04-depverdict-distribution-identity-readiness-rereview.md` is
296
+ the review baseline and was not created or rewritten by DIFF-04-FIX. All
297
+ pre-existing RR02 captures and duplicate-suffix capture files remain untouched.
298
+
299
+ ## 19. Final verdict and next gate
300
+
301
+ ```text
302
+ Verdict: DIFF_04_FIX_LOCAL_READY
303
+ Gate: PROCEED_TO_SEPARATELY_AUTHORIZED_GIT_WORKFLOW_AND_HOSTED_CI
304
+ ```
305
+
306
+ The next task requires separate Git workflow authorization: stage only the 17
307
+ DIFF-04-FIX files, excluding the pre-existing DIFF-04 rereview baseline, commit,
308
+ push without force, and obtain exact-SHA Node 20/22/24 plus package-smoke hosted
309
+ success. Then rerun the independent DIFF-04 readiness review. No merge, tag, new
310
+ release, or npm publication is authorized.