@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.
- package/LICENSE +21 -0
- package/README.md +518 -0
- package/bin/depverdict.js +7 -0
- package/bin/upgradelens.js +7 -0
- package/docs/GR-01-Semantic-Grounding-Failure-Analysis.md +309 -0
- package/docs/GR-02-Versioned-Action-Evaluation-Criteria.md +187 -0
- package/docs/GR-03-Extractive-Contract-Safety-Experiment.md +242 -0
- package/docs/GR-04-Versioned-Production-Extractive-Contract.md +154 -0
- package/docs/IA-01-Repository-Usage-Discovery.md +122 -0
- package/docs/IA-02-Repository-Impact-Analysis.md +118 -0
- package/docs/IA-03-Repository-Impact-Evidence.md +160 -0
- package/docs/IA-04-CLI-Orchestration.md +235 -0
- package/docs/IA-05-Real-Provider-Validation.md +235 -0
- package/docs/IA-05-VinGrade-Validation.md +339 -0
- package/docs/MVP-01.md +48 -0
- package/docs/MVP-02-Architecture.md +536 -0
- package/docs/MVP-02-CLI-HTTP-Runtime.md +50 -0
- package/docs/MVP-02-HTTP-Lifecycle.md +37 -0
- package/docs/MVP-02-Knowledge-Manifest-Generation.md +75 -0
- package/docs/MVP-02-Knowledge-Manifest.md +279 -0
- package/docs/MVP-02-Knowledge-Research-Orchestration.md +62 -0
- package/docs/MVP-02-Knowledge-Store.md +87 -0
- package/docs/MVP-02-PyPI-Registry-Adapter.md +97 -0
- package/docs/MVP-02-Research-Planning.md +196 -0
- package/docs/MVP-02-Source-Provenance.md +81 -0
- package/docs/MVP-02-npm-Registry-Adapter.md +99 -0
- package/docs/RR-01-End-to-End-and-Real-Provider-Validation.md +393 -0
- package/docs/RR-01-RERUN-Extractive-Contract-Validation.md +566 -0
- package/docs/RR-02-Full-Product-Workflow-and-Developer-CLI-UX-Review.md +35 -0
- package/docs/RR02-FIX-01-Persistent-Qualification-Resolution.md +32 -0
- package/docs/RR02-FIX-02-Stage-aware-CLI-Progress-and-Heartbeat.md +28 -0
- package/docs/RR02-FIX-03-npm-Capture-Evidence-Exclusion.md +33 -0
- package/docs/RR02-FIX-03A-Complete-Package-Exclusion-and-Evidence-Commit.md +223 -0
- package/docs/RR02-FIX-04-Event-loop-safe-Heartbeat.md +393 -0
- package/docs/RR02-FIX-05-Materialize-Persisted-Qualification.md +207 -0
- package/docs/RR02-RERUN-CLI-Qualification-Progress-UX-and-Package-Validation.md +342 -0
- package/docs/VinGrade-MVP-02-Validation.md +480 -0
- package/docs/VinGrade-RC02-Live-Validation.md +273 -0
- package/docs/ai-capability-discovery.md +573 -0
- package/docs/ai-engineering-production-readiness.md +390 -0
- package/docs/ai-engineering-review.md +251 -0
- package/docs/ai-runtime-governance-discovery.md +754 -0
- package/docs/architecture-overview.md +78 -0
- package/docs/cli-progress.md +111 -0
- package/docs/decisions/diff-01-brand-distribution-identity.md +450 -0
- package/docs/decisions/diff-02-identity-compatibility-contract.md +274 -0
- package/docs/decisions/diff-03-repository-docs-community-migration.md +165 -0
- package/docs/decisions/diff-04-release-evidence-gap-acceptance.md +110 -0
- package/docs/discovery/mvp-05-ai-migration-planning-discovery.md +350 -0
- package/docs/gateway-runtime-discovery.md +614 -0
- package/docs/live-ai-validation.md +299 -0
- package/docs/migration-planning-qualification-resolution.md +99 -0
- package/docs/migrations/upgradelens-to-depverdict.md +97 -0
- package/docs/mp-r03-deterministic-upgrade-decision-architecture.md +135 -0
- package/docs/mp-r04-evidence-bounded-migration-handoff-architecture.md +116 -0
- package/docs/mp-r05-product-completion-and-decision-first-cli-architecture.md +162 -0
- package/docs/mvp-05-deterministic-context-runtime.md +127 -0
- package/docs/mvp-05-migration-checklist-contract.md +166 -0
- package/docs/mvp-05-migration-checklist-orchestration.md +105 -0
- package/docs/mvp-05-migration-evaluation-and-qualification.md +135 -0
- package/docs/mvp-05-provider-neutral-generator.md +79 -0
- package/docs/ollama-local-smoke-validation.md +156 -0
- package/docs/openai-compatible-runtime-discovery.md +789 -0
- package/docs/openrouter-one-dependency-validation.md +205 -0
- package/docs/oss-02-package-guard-hardening-architecture.md +131 -0
- package/docs/oss-04-public-ci-package-metadata-architecture.md +142 -0
- package/docs/package-content-policy.md +98 -0
- package/docs/releases/v0.5.0-technical-preview.md +114 -0
- package/docs/releases/v0.6.0-alpha.1-depverdict-preview.md +101 -0
- package/docs/reviews/diff-02-identity-contract-compatibility.md +413 -0
- package/docs/reviews/diff-03-repository-docs-community-migration.md +364 -0
- package/docs/reviews/diff-04-depverdict-distribution-identity-readiness-rereview.md +453 -0
- package/docs/reviews/diff-04-fix-post-rename-identity-release-remediation.md +310 -0
- package/docs/reviews/diff-05-final-preview-distribution-qualification.md +561 -0
- package/docs/reviews/mvp-05-final-product-value-workflow-rereview.md +471 -0
- package/docs/reviews/mvp-05-product-workflow-review.md +605 -0
- package/docs/reviews/oss-01-duplicate-artifact-investigation-cleanup.md +411 -0
- package/docs/reviews/oss-02-package-guard-hardening.md +303 -0
- package/docs/reviews/oss-03-community-scaffolding.md +378 -0
- package/docs/reviews/oss-04-public-ci-package-metadata.md +439 -0
- package/docs/reviews/oss-05-technical-preview-qualification.md +482 -0
- package/docs/reviews/upgradelens-vs-upgradedepdetective-source-comparison.md +355 -0
- package/docs/reviews/v0.5.0-pre-release-smoke.md +263 -0
- package/docs/reviews/v0.5.0-version-bump-release-verification.md +306 -0
- package/docs/runtime-contract-discovery.md +521 -0
- package/docs/structured-output-compatibility-report.md +100 -0
- package/docs/ts-fix-01-exact-duplicate-occurrence-target-selection-architecture.md +111 -0
- package/docs/version-analysis-architecture.md +827 -0
- package/eval/README.md +86 -0
- package/eval/datasets/generic/declared-constraint.json +59 -0
- package/eval/datasets/generic/evidence-conflict.json +73 -0
- package/eval/datasets/generic/major-breaking-release.json +66 -0
- package/eval/datasets/generic/missing-evidence.json +46 -0
- package/eval/datasets/generic/patch-release-low.json +59 -0
- package/eval/datasets/node/axios-patch-low.json +59 -0
- package/eval/datasets/node/react-major-breaking.json +66 -0
- package/eval/datasets/node/react-minor-compatibility.json +66 -0
- package/eval/datasets/python/fastapi-deprecation.json +66 -0
- package/eval/datasets/python/pydantic-major-breaking.json +66 -0
- package/eval/migration-planning/golden-dataset-v2.json +306 -0
- package/eval/migration-planning/golden-dataset.json +214 -0
- package/eval/schemas/expected-result.schema.json +88 -0
- package/eval/schemas/golden-case.schema.json +181 -0
- package/package.json +57 -0
- package/schemas/ai-scorecard.schema.json +132 -0
- package/schemas/benchmark-report.schema.json +189 -0
- package/schemas/benchmark.schema.json +55 -0
- package/schemas/capability-profile.schema.json +44 -0
- package/schemas/conformance-report.schema.json +150 -0
- package/schemas/deployment-profile.schema.json +64 -0
- package/schemas/evaluation-report.schema.json +158 -0
- package/schemas/knowledge-evidence-bundle.schema.json +150 -0
- package/schemas/knowledge-manifest.schema.json +548 -0
- package/schemas/metrics.schema.json +178 -0
- package/schemas/migration-checklist-extractive-candidate.schema.json +42 -0
- package/schemas/migration-checklist.schema.json +706 -0
- package/schemas/migration-evaluation-dataset-v2.schema.json +208 -0
- package/schemas/migration-evaluation-dataset.schema.json +204 -0
- package/schemas/migration-planning-qualification-record.schema.json +234 -0
- package/schemas/project-manifest.schema.json +308 -0
- package/schemas/qualification-record.schema.json +56 -0
- package/schemas/repository-impact-evidence.schema.json +232 -0
- package/schemas/repository-impact.schema.json +202 -0
- package/schemas/upgrade-decision.schema.json +273 -0
- package/schemas/usage-index.schema.json +179 -0
- package/schemas/version-analysis.schema.json +449 -0
- package/src/ai-runtime-debug.js +325 -0
- package/src/ai-runtime-error.js +42 -0
- package/src/ai-runtime.js +174 -0
- package/src/ai-scorecard.js +204 -0
- package/src/ai-version-analysis.js +484 -0
- package/src/artifact-root-compatibility.js +91 -0
- package/src/benchmark-report.js +111 -0
- package/src/benchmark-runner.js +191 -0
- package/src/canonical-json.js +69 -0
- package/src/cli.js +1299 -0
- package/src/conformance-report.js +158 -0
- package/src/conformance-runner.js +253 -0
- package/src/constants.js +73 -0
- package/src/cooperative-scheduler.js +79 -0
- package/src/dependencies.js +44 -0
- package/src/dependency-ai-context.js +625 -0
- package/src/detectors.js +253 -0
- package/src/discovery.js +234 -0
- package/src/ecosystem-version-adapter.js +294 -0
- package/src/environment-compatibility.js +77 -0
- package/src/evaluation-comparator.js +158 -0
- package/src/evaluation-report.js +76 -0
- package/src/evaluation-runner.js +248 -0
- package/src/evidence-source-adapter.js +472 -0
- package/src/files.js +89 -0
- package/src/governance-diagnostics.js +64 -0
- package/src/governance-loader.js +63 -0
- package/src/governance-metadata.js +346 -0
- package/src/governance-validator.js +360 -0
- package/src/http/bounded-fetch.js +278 -0
- package/src/http/cli-http-runtime.js +44 -0
- package/src/impact/input-loader.js +157 -0
- package/src/impact/matcher.js +40 -0
- package/src/impact/repository-impact.js +199 -0
- package/src/impact/runtime.js +24 -0
- package/src/impact/status.js +62 -0
- package/src/impact/writer.js +30 -0
- package/src/impact-evidence/input-loader.js +202 -0
- package/src/impact-evidence/repository-impact-evidence.js +234 -0
- package/src/impact-evidence/runtime.js +16 -0
- package/src/impact-evidence/writer.js +30 -0
- package/src/index.js +563 -0
- package/src/installed-version-baseline.js +196 -0
- package/src/knowledge-cache.js +324 -0
- package/src/knowledge-evidence-bundle.js +101 -0
- package/src/knowledge-evidence-producer.js +233 -0
- package/src/knowledge-manifest-builder.js +188 -0
- package/src/knowledge-manifest-writer.js +32 -0
- package/src/knowledge-manifest.js +255 -0
- package/src/knowledge-research.js +615 -0
- package/src/metrics-engine.js +205 -0
- package/src/migration-checklist/ai-candidate.js +320 -0
- package/src/migration-checklist/assembler.js +37 -0
- package/src/migration-checklist/context-runtime.js +828 -0
- package/src/migration-checklist/evaluation/action-criteria.js +244 -0
- package/src/migration-checklist/evaluation/comparator-v2.js +332 -0
- package/src/migration-checklist/evaluation/comparator.js +279 -0
- package/src/migration-checklist/evaluation/dataset-v2.js +227 -0
- package/src/migration-checklist/evaluation/dataset.js +336 -0
- package/src/migration-checklist/evaluation/extractive-fixtures-v2.js +148 -0
- package/src/migration-checklist/evaluation/metrics-v2.js +226 -0
- package/src/migration-checklist/evaluation/metrics.js +158 -0
- package/src/migration-checklist/evaluation/qualification-v2.js +321 -0
- package/src/migration-checklist/evaluation/qualification.js +239 -0
- package/src/migration-checklist/evaluation/runner-v2.js +294 -0
- package/src/migration-checklist/evaluation/runner.js +194 -0
- package/src/migration-checklist/evaluation/scorecard-v2.js +106 -0
- package/src/migration-checklist/evaluation/scorecard.js +86 -0
- package/src/migration-checklist/extractive-candidate.js +166 -0
- package/src/migration-checklist/extractive-prompt.js +62 -0
- package/src/migration-checklist/generator.js +702 -0
- package/src/migration-checklist/grounding-policy.js +117 -0
- package/src/migration-checklist/input-loader.js +613 -0
- package/src/migration-checklist/migration-checklist.js +635 -0
- package/src/migration-checklist/presentation.js +292 -0
- package/src/migration-checklist/progress.js +96 -0
- package/src/migration-checklist/prompt.js +83 -0
- package/src/migration-checklist/qualification-guard.js +462 -0
- package/src/migration-checklist/qualification-resolution.js +122 -0
- package/src/migration-checklist/qualification-store.js +225 -0
- package/src/migration-checklist/runtime.js +205 -0
- package/src/migration-checklist/verification.js +134 -0
- package/src/migration-checklist/writer.js +35 -0
- package/src/openai-compatible-provider.js +451 -0
- package/src/orchestration/failure-log.js +32 -0
- package/src/orchestration/pipeline.js +200 -0
- package/src/orchestration/progress-events.js +337 -0
- package/src/orchestration/progress-reporter.js +131 -0
- package/src/orchestration/text-writer.js +22 -0
- package/src/portable.js +13 -0
- package/src/product-completion.js +249 -0
- package/src/project-manifest-input.js +90 -0
- package/src/project-manifest.js +141 -0
- package/src/python-requirements.js +137 -0
- package/src/registry/npm-packument.js +256 -0
- package/src/registry/npm-registry-adapter.js +262 -0
- package/src/registry/pypi-project.js +300 -0
- package/src/registry/pypi-registry-adapter.js +235 -0
- package/src/registry/sanitize-registry-body.js +51 -0
- package/src/renderers/console.js +160 -0
- package/src/renderers/impact-presentation.js +278 -0
- package/src/renderers/markdown.js +172 -0
- package/src/research-plan.js +455 -0
- package/src/runtime-conformance.js +275 -0
- package/src/source-provenance.js +393 -0
- package/src/source-url.js +62 -0
- package/src/structured-output-schema.js +66 -0
- package/src/target-selector.js +306 -0
- package/src/upgrade-decision/input-loader.js +107 -0
- package/src/upgrade-decision/presentation.js +43 -0
- package/src/upgrade-decision/runtime.js +21 -0
- package/src/upgrade-decision/upgrade-decision.js +626 -0
- package/src/upgrade-decision/writer.js +30 -0
- package/src/usage/analyzer-registry.js +63 -0
- package/src/usage/coverage.js +116 -0
- package/src/usage/input-loader.js +139 -0
- package/src/usage/js/analyzer.js +240 -0
- package/src/usage/js/parser.js +21 -0
- package/src/usage/runtime.js +187 -0
- package/src/usage/scope.js +44 -0
- package/src/usage/source-files.js +50 -0
- package/src/usage/usage-index.js +217 -0
- package/src/usage/writer.js +31 -0
- package/src/version-analysis-loader.js +203 -0
- package/src/version-analysis-manifest.js +314 -0
- package/src/version-analysis-writer.js +30 -0
|
@@ -0,0 +1,561 @@
|
|
|
1
|
+
# DIFF-05 — Final Preview Distribution Qualification
|
|
2
|
+
|
|
3
|
+
Review completed: 2026-07-19T14:27:07Z
|
|
4
|
+
Review role: independent release engineer and product qualification reviewer
|
|
5
|
+
Real provider calls: 0
|
|
6
|
+
Provider cost: USD 0
|
|
7
|
+
|
|
8
|
+
## 1. Executive verdict and gate
|
|
9
|
+
|
|
10
|
+
```text
|
|
11
|
+
Verdict: PREVIEW_RELEASE_EVIDENCE_COMMIT_REQUIRED
|
|
12
|
+
Gate: COMMIT_EVIDENCE_AND_REFRESH_HOSTED_CI
|
|
13
|
+
Qualified product candidate: 001dd5ec9db4aa292228809ed129fb7d2db9756d
|
|
14
|
+
Blocker product defects: 0
|
|
15
|
+
High product defects: 0
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
The exact hosted candidate passes product, package, CLI, compatibility,
|
|
19
|
+
decision-policy, handoff, retained-provider-qualification, security, release,
|
|
20
|
+
npm-authorization, and publish-dry-run gates.
|
|
21
|
+
|
|
22
|
+
It is not yet the final releasable commit. The independent DIFF-04 readiness
|
|
23
|
+
report is valid public evidence but remains untracked, and this DIFF-05 report is
|
|
24
|
+
new public release evidence. Committing either creates a new SHA and changes the
|
|
25
|
+
npm package manifest because the package includes `docs/`. The old hosted CI run
|
|
26
|
+
must not be reused for that evidence-bearing candidate.
|
|
27
|
+
|
|
28
|
+
No merge, tag, GitHub Release, npm publication, or dist-tag mutation was
|
|
29
|
+
performed.
|
|
30
|
+
|
|
31
|
+
## 2. Exact candidate, SHA, and CI correlation
|
|
32
|
+
|
|
33
|
+
| Identity | Result |
|
|
34
|
+
| --- | --- |
|
|
35
|
+
| Local branch | `feat/depverdict-rebrand` |
|
|
36
|
+
| Local HEAD | `001dd5ec9db4aa292228809ed129fb7d2db9756d` |
|
|
37
|
+
| Remote branch | `001dd5ec9db4aa292228809ed129fb7d2db9756d` |
|
|
38
|
+
| Pull request | `#11`, open, not draft, not merged |
|
|
39
|
+
| PR direction | `feat/depverdict-rebrand` → `develop` |
|
|
40
|
+
| PR head | `001dd5ec9db4aa292228809ed129fb7d2db9756d` |
|
|
41
|
+
| PR base | `develop` = `764591ec808bee7e2ff34870c5452b7dbf1e8ad9` |
|
|
42
|
+
| Default branch | `main` = `c91fbb0032b0e2f6209cb4a14aeeb68d9cf0c28d` |
|
|
43
|
+
| Hosted workflow | `DepVerdict CI`, run `29689431987`, attempt 1 |
|
|
44
|
+
| Hosted event | `pull_request` |
|
|
45
|
+
| Hosted run SHA | `001dd5ec9db4aa292228809ed129fb7d2db9756d` |
|
|
46
|
+
| Hosted conclusion | `completed` / `success` |
|
|
47
|
+
| Package candidate | isolated clean clone detached at the same SHA |
|
|
48
|
+
|
|
49
|
+
Required hosted jobs:
|
|
50
|
+
|
|
51
|
+
| Job | Result |
|
|
52
|
+
| --- | --- |
|
|
53
|
+
| Node 20 | PASS |
|
|
54
|
+
| Node 22 | PASS |
|
|
55
|
+
| Node 24 | PASS |
|
|
56
|
+
| Package smoke (Node 24) | PASS |
|
|
57
|
+
|
|
58
|
+
These results qualify only `001dd5e…`. They do not qualify the future
|
|
59
|
+
evidence-bearing commit.
|
|
60
|
+
|
|
61
|
+
## 3. Worktree scope and evidence-report treatment
|
|
62
|
+
|
|
63
|
+
The source worktree contained:
|
|
64
|
+
|
|
65
|
+
- the valid untracked DIFF-04 independent readiness report;
|
|
66
|
+
- pre-existing RR02 capture trees and duplicate-suffix captures;
|
|
67
|
+
- no local tarball or qualification cache in release scope;
|
|
68
|
+
- no unrelated tracked source modification.
|
|
69
|
+
|
|
70
|
+
Treatment:
|
|
71
|
+
|
|
72
|
+
```text
|
|
73
|
+
DIFF-04 readiness report: INCLUDE_IN_EVIDENCE_COMMIT
|
|
74
|
+
DIFF-05 qualification report: INCLUDE_IN_EVIDENCE_COMMIT
|
|
75
|
+
RR02 captures: KEEP_LOCAL_NON_DISTRIBUTED
|
|
76
|
+
Temporary clones/caches/tarballs: KEEP_OUTSIDE_REPOSITORY
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
The DIFF-04 report:
|
|
80
|
+
|
|
81
|
+
- identifies exact SHA `001dd5ec…` and hosted run `29689431987`;
|
|
82
|
+
- records the ready verdict and zero Blocker/High defects;
|
|
83
|
+
- contains no credential, authorization header, signed URL, provider payload,
|
|
84
|
+
or private machine path;
|
|
85
|
+
- is consistent with current source and repeated live GitHub evidence.
|
|
86
|
+
|
|
87
|
+
Its generic reference to a temporary system directory is not a private machine
|
|
88
|
+
path. No report was silently staged, discarded, or modified during this task.
|
|
89
|
+
|
|
90
|
+
## 4. Product, repository, and distribution identity
|
|
91
|
+
|
|
92
|
+
| Field | Qualified value | Result |
|
|
93
|
+
| --- | --- | --- |
|
|
94
|
+
| Product | DepVerdict | PASS |
|
|
95
|
+
| Repository | `https://github.com/thomasMinh1995/DepVerdict` | PASS |
|
|
96
|
+
| Package | `@thomasminh1995/depverdict` | PASS |
|
|
97
|
+
| Version | `0.6.0-alpha.1` | PASS |
|
|
98
|
+
| Description | decision-first, evidence-bounded dependency upgrade analysis | PASS |
|
|
99
|
+
| Repository metadata | `git+https://github.com/thomasMinh1995/DepVerdict.git` | PASS |
|
|
100
|
+
| Homepage | `https://github.com/thomasMinh1995/DepVerdict#readme` | PASS |
|
|
101
|
+
| Bugs | `https://github.com/thomasMinh1995/DepVerdict/issues` | PASS |
|
|
102
|
+
| Canonical bin | `depverdict` | PASS |
|
|
103
|
+
| Legacy bin | `upgradelens` | PASS |
|
|
104
|
+
| License | MIT | PASS |
|
|
105
|
+
| Node engine | `>=20` | PASS |
|
|
106
|
+
|
|
107
|
+
The legacy executable is explicitly bounded to the `0.6.x` preview
|
|
108
|
+
compatibility window and emits a deprecation warning. Package keywords describe
|
|
109
|
+
dependency upgrades, migration planning, repository analysis, and developer
|
|
110
|
+
tooling. No package metadata claims ownership of the external `upgrade-lens`
|
|
111
|
+
package.
|
|
112
|
+
|
|
113
|
+
No `author` or `maintainers` field is declared in `package.json`; npm account
|
|
114
|
+
authorization is established separately. This is intentional optional metadata,
|
|
115
|
+
not an ownership claim.
|
|
116
|
+
|
|
117
|
+
## 5. npm authorization and public availability
|
|
118
|
+
|
|
119
|
+
Authenticated read-only checks, with private profile data suppressed:
|
|
120
|
+
|
|
121
|
+
```text
|
|
122
|
+
npm account: thomasminh1995
|
|
123
|
+
account matches personal scope: yes
|
|
124
|
+
profile read: authenticated
|
|
125
|
+
2FA mode: auth-and-writes
|
|
126
|
+
2FA/publish requirements understood: yes
|
|
127
|
+
access list query: authenticated
|
|
128
|
+
existing accessible packages: 0
|
|
129
|
+
scope publish authorization confirmed: yes, for the matching personal scope
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
The empty package access list is expected because this is the first package in
|
|
133
|
+
the personal scope. It is not presented as an existing-package permission.
|
|
134
|
+
The future real publish remains interactive and must satisfy the account's
|
|
135
|
+
write-time 2FA requirement.
|
|
136
|
+
|
|
137
|
+
Public registry inventory:
|
|
138
|
+
|
|
139
|
+
| Package | Status | Ownership evidence |
|
|
140
|
+
| --- | --- | --- |
|
|
141
|
+
| `@thomasminh1995/depverdict` | HTTP 404 | not yet published |
|
|
142
|
+
| `upgradelens` | HTTP 404 | unclaimed public identity; not the intended package |
|
|
143
|
+
| `upgrade-lens` | `1.0.2` under `latest` | maintained by `zjpctt`; external repository |
|
|
144
|
+
|
|
145
|
+
DepVerdict did not publish, mutate, or claim either unscoped identity.
|
|
146
|
+
|
|
147
|
+
## 6. Exact npm artifact
|
|
148
|
+
|
|
149
|
+
Two isolated-cache actual packs were byte-identical and matched the dry-run
|
|
150
|
+
manifest:
|
|
151
|
+
|
|
152
|
+
```text
|
|
153
|
+
name: @thomasminh1995/depverdict
|
|
154
|
+
version: 0.6.0-alpha.1
|
|
155
|
+
filename: thomasminh1995-depverdict-0.6.0-alpha.1.tgz
|
|
156
|
+
files: 250
|
|
157
|
+
packed bytes: 664399
|
|
158
|
+
unpacked bytes: 2553288
|
|
159
|
+
npm shasum: 992d406797fc8741139bf8f14cfe172c327d8129
|
|
160
|
+
npm integrity: sha512-P6g1ryzFDsGd1/0BI0qOoGP24Z3wqg4wS+5t4dENbEFoDsFq8ZFczqq1u0//7x9wzc71D4u4lIJ9U9l6XpPTAg==
|
|
161
|
+
SHA-256: b2d11b6c9caf95a7e77035bb99edd8fb31d8597c6e91441d47a2cbc066fccc48
|
|
162
|
+
repeat byte comparison: PASS
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
Both executable shims have mode `0755`.
|
|
166
|
+
|
|
167
|
+
The tarball includes the required CLI/runtime modules, 22 schemas, evaluation
|
|
168
|
+
datasets, Migration Checklist assets, compatibility modules, migration guide,
|
|
169
|
+
preview release note, README, and license.
|
|
170
|
+
|
|
171
|
+
It excludes:
|
|
172
|
+
|
|
173
|
+
- Git metadata;
|
|
174
|
+
- `.env` and credentials;
|
|
175
|
+
- `.depverdict/` and `.upgradelens/` runtime outputs;
|
|
176
|
+
- RR02 capture trees and transcripts;
|
|
177
|
+
- npm caches and `node_modules`;
|
|
178
|
+
- local tarballs;
|
|
179
|
+
- duplicate-suffixed files;
|
|
180
|
+
- private machine paths.
|
|
181
|
+
|
|
182
|
+
Seven intentionally packaged RR02 policy/decision documents were distinguished
|
|
183
|
+
from prohibited RR02 capture trees. Package guard independently accepted the
|
|
184
|
+
same boundary.
|
|
185
|
+
|
|
186
|
+
The accepted 250-file count is unchanged. After the two evidence reports are
|
|
187
|
+
committed, the expected package file count becomes 252 because `docs/` is
|
|
188
|
+
package-visible. That change must be requalified and explained on the new SHA.
|
|
189
|
+
|
|
190
|
+
## 7. Package guard and clean installation
|
|
191
|
+
|
|
192
|
+
| Check | Result |
|
|
193
|
+
| --- | --- |
|
|
194
|
+
| `npm ci --ignore-scripts` | PASS |
|
|
195
|
+
| `npm run check` | PASS |
|
|
196
|
+
| `npm run check:package` | PASS |
|
|
197
|
+
| Package guard | 250 files, 0 suspicious, 32 required assets |
|
|
198
|
+
| Official package smoke | PASS |
|
|
199
|
+
| Extracted package files | 250 |
|
|
200
|
+
| Public exports | 438 |
|
|
201
|
+
| `git diff --check` | PASS |
|
|
202
|
+
|
|
203
|
+
A cold-cache `npm install --offline` could not resolve the declared
|
|
204
|
+
`@babel/parser` packument. This is a cache-availability limitation, not a
|
|
205
|
+
package failure. The clean consumer was rerun with network dependency resolution,
|
|
206
|
+
`--ignore-scripts`, no audit, no funding request, and no package lock; it passed.
|
|
207
|
+
The installed DepVerdict product workflow was then exercised offline without
|
|
208
|
+
registry or provider access.
|
|
209
|
+
|
|
210
|
+
## 8. Public CLI and compatibility results
|
|
211
|
+
|
|
212
|
+
| Check | Result |
|
|
213
|
+
| --- | --- |
|
|
214
|
+
| `depverdict --version` | `0.6.0-alpha.1` |
|
|
215
|
+
| `depverdict --help` | PASS; DepVerdict-first and decision-first |
|
|
216
|
+
| `upgradelens --version` | `0.6.0-alpha.1` |
|
|
217
|
+
| `upgradelens --help` | PASS; equivalent with stderr deprecation warning |
|
|
218
|
+
| Machine-readable stdout | PASS |
|
|
219
|
+
| ESM import | PASS |
|
|
220
|
+
| Public exports | 438 |
|
|
221
|
+
| Schema JSON loading | 22/22 |
|
|
222
|
+
| Schema compilation | 22/22 |
|
|
223
|
+
| Retained qualification loading | PASS |
|
|
224
|
+
| Legacy qualification fallback | PASS with bounded diagnostic |
|
|
225
|
+
| Root conflict | fail closed as `ARTIFACT_ROOT_CONFLICT` |
|
|
226
|
+
|
|
227
|
+
The legacy warning is stderr-only and bounded once per process state. Canonical
|
|
228
|
+
and legacy executable identities write canonical artifacts.
|
|
229
|
+
|
|
230
|
+
## 9. Zero-secret onboarding workflow
|
|
231
|
+
|
|
232
|
+
Two equivalent clean generic Node fixtures contained only:
|
|
233
|
+
|
|
234
|
+
- one declared runtime dependency;
|
|
235
|
+
- one declared development dependency;
|
|
236
|
+
- no lockfile;
|
|
237
|
+
- no credential;
|
|
238
|
+
- no provider configuration.
|
|
239
|
+
|
|
240
|
+
Packaged CLI results:
|
|
241
|
+
|
|
242
|
+
| Workflow | Result |
|
|
243
|
+
| --- | --- |
|
|
244
|
+
| Discovery with JSON stdout | PASS, exit 0 |
|
|
245
|
+
| Offline full analysis | PASS, truthful completion |
|
|
246
|
+
| Default incomplete behavior | `INSUFFICIENT_DATA`, exit 0 |
|
|
247
|
+
| `--fail-on-incomplete` | `INSUFFICIENT_DATA`, exit 2 |
|
|
248
|
+
| Artifact root | `.depverdict/` |
|
|
249
|
+
| Legacy write root | absent |
|
|
250
|
+
| Provider calls | 0 |
|
|
251
|
+
| Secret diagnostic scan | PASS |
|
|
252
|
+
|
|
253
|
+
The two dependencies remained `NOT_ANALYZED` with missing installed baseline,
|
|
254
|
+
target, and evidence. The output required human review and did not manufacture a
|
|
255
|
+
recommendation, confidence, impact-safe claim, migration action, path, or command.
|
|
256
|
+
|
|
257
|
+
The repeated semantic projection was identical. Wall-clock `generatedAt`,
|
|
258
|
+
fixture directory name, and lineage-derived IDs are intentionally variable and
|
|
259
|
+
were not misrepresented as byte-deterministic CLI output. Actual npm tarball
|
|
260
|
+
determinism is byte-for-byte proven separately.
|
|
261
|
+
|
|
262
|
+
## 10. Decision, handoff, selector, and completion scenarios
|
|
263
|
+
|
|
264
|
+
Focused deterministic suite: 177 passed, 0 failed, 0 skipped.
|
|
265
|
+
|
|
266
|
+
| Scenario | Required result | Qualification |
|
|
267
|
+
| --- | --- | --- |
|
|
268
|
+
| Registry latest only | `INVESTIGATE`, never recommendation | PASS |
|
|
269
|
+
| Explicit newer target plus scoped evidence | `PLAN_UPGRADE` | PASS |
|
|
270
|
+
| Installed equals target | `KEEP_CURRENT` | PASS |
|
|
271
|
+
| Provider/output failure | `PARTIAL`, exit 2 | PASS |
|
|
272
|
+
| Insufficient data | default 0, strict 2 | PASS |
|
|
273
|
+
| Unsupported/unavailable coverage | no false `NOT_IMPACTED` | PASS |
|
|
274
|
+
| Exact duplicate occurrence selector | exactly one occurrence | PASS |
|
|
275
|
+
| Stale/conflicting selector | fail before provider construction | PASS |
|
|
276
|
+
| Actionable Migration Checklist | evidence-bounded, review-required | PASS |
|
|
277
|
+
| No grounded instruction | `NO_GROUNDED_ACTION`; no invented action/path/command | PASS |
|
|
278
|
+
| Cancellation | exit 130 | PASS |
|
|
279
|
+
| Offline run | no network/provider dependency; honest limits | PASS |
|
|
280
|
+
|
|
281
|
+
Decision-first console and Markdown ordering, deterministic renderers, JSON
|
|
282
|
+
stdout, partial failure isolation, coverage conservatism, target intent, and
|
|
283
|
+
completion projection all passed.
|
|
284
|
+
|
|
285
|
+
Provider calls across these scenarios: 0 real calls.
|
|
286
|
+
|
|
287
|
+
## 11. Retained real-provider qualification
|
|
288
|
+
|
|
289
|
+
The production loader validated the retained machine-readable record rather
|
|
290
|
+
than relying on Markdown:
|
|
291
|
+
|
|
292
|
+
```text
|
|
293
|
+
record schema: 1.0.0
|
|
294
|
+
record digest: sha256:e55b2d6f2f82091f5ce321e3e6b3a36cab8a34ea7608464ccd08b8ef49813847
|
|
295
|
+
qualification ID: sha256:4fa4954d6f254d94859bce17aec6209394d380e4635155a6f3ce23a7e9b70765
|
|
296
|
+
verdict: QUALIFIED
|
|
297
|
+
generated: 2026-07-17T03:32:16.710Z
|
|
298
|
+
mode: real
|
|
299
|
+
provider: openai-compatible
|
|
300
|
+
model: openai/gpt-5.5
|
|
301
|
+
adapter: openai-compatible
|
|
302
|
+
critical gates: 15/15 passed
|
|
303
|
+
critical violations: 0
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
Resolving the record against the current task, dataset, evaluation criteria,
|
|
307
|
+
policy, prompt, schema, deterministic presentation, provider, model, adapter,
|
|
308
|
+
and runtime identity returned `QUALIFIED` and execution allowed.
|
|
309
|
+
|
|
310
|
+
The retained record currently resides under the supported legacy root and
|
|
311
|
+
resolved with `LEGACY_ARTIFACT_ROOT_USED`. A matching canonical record wins when
|
|
312
|
+
both roots are complete. Provider, model, or adapter changes each returned
|
|
313
|
+
`IDENTITY_MISMATCH` with execution disallowed.
|
|
314
|
+
|
|
315
|
+
No qualification was generalized to another provider, Claude, another model,
|
|
316
|
+
local/offline execution, or changed prompt/runtime. Migration Checklist remains
|
|
317
|
+
experimental, opt-in, evidence-bounded, and human-reviewed.
|
|
318
|
+
|
|
319
|
+
No provider credit was spent during DIFF-05.
|
|
320
|
+
|
|
321
|
+
## 12. GitHub Releases, repository, security, and community
|
|
322
|
+
|
|
323
|
+
| Check | Result |
|
|
324
|
+
| --- | --- |
|
|
325
|
+
| Canonical repository | HTTP 200 |
|
|
326
|
+
| Former repository route | HTTP 301 directly to DepVerdict |
|
|
327
|
+
| Private Vulnerability Reporting | enabled |
|
|
328
|
+
| PR and hosted CI | exact candidate correlated |
|
|
329
|
+
| `v0.6.0-alpha.1` tag | absent |
|
|
330
|
+
| `v0.6.0-alpha.1` GitHub Release/draft | absent |
|
|
331
|
+
| Historical release count | 5 |
|
|
332
|
+
| Historical release asset count | zero for each |
|
|
333
|
+
| Historical release metadata drift | none |
|
|
334
|
+
|
|
335
|
+
Release IDs remain `353312307`, `353747096`, `354822066`, `355150303`, and
|
|
336
|
+
`356244177`. Titles remain truthful UpgradeLens titles, bodies retain the direct
|
|
337
|
+
DepVerdict rename notices, states remain non-draft/non-prerelease, and approved
|
|
338
|
+
body digests remain unchanged.
|
|
339
|
+
|
|
340
|
+
Security, support, conduct, issue, and PR routes are valid and DepVerdict-first.
|
|
341
|
+
Sensitive reports are not directed to public issues. The verified
|
|
342
|
+
legacy-named conduct mailbox remains an explicit preview limitation.
|
|
343
|
+
|
|
344
|
+
## 13. Release notes, migration guide, and positioning
|
|
345
|
+
|
|
346
|
+
The current preview draft and migration guide pass:
|
|
347
|
+
|
|
348
|
+
- Technical Preview / Alpha status;
|
|
349
|
+
- scoped `@preview` installation command;
|
|
350
|
+
- no `latest` claim;
|
|
351
|
+
- DepVerdict-first canonical CLI and bounded legacy alias;
|
|
352
|
+
- canonical artifact/env identity plus bounded fallbacks;
|
|
353
|
+
- decision-first workflow and fail-on-incomplete semantics;
|
|
354
|
+
- experimental opt-in Migration Checklist;
|
|
355
|
+
- exact provider/model/runtime qualification boundary;
|
|
356
|
+
- mandatory human review;
|
|
357
|
+
- JS/TS and npm strengths with explicit ecosystem/coverage limits;
|
|
358
|
+
- no autonomous source modification;
|
|
359
|
+
- proposed verification commands are not executed by the product;
|
|
360
|
+
- recovery and rollback synthesis limitations;
|
|
361
|
+
- canonical security/support routes;
|
|
362
|
+
- UpgradeLens-to-DepVerdict upgrade path.
|
|
363
|
+
|
|
364
|
+
The draft truthfully says the preview is not yet published and has not passed the
|
|
365
|
+
final evidence-bearing distribution gate. No factual release-note edit was
|
|
366
|
+
required in this task. The later evidence commit should replace that
|
|
367
|
+
qualification-status sentence with publication-stable wording before CI so it
|
|
368
|
+
does not become stale after the final rerun.
|
|
369
|
+
|
|
370
|
+
No production-ready, universally safe, autonomous-migration, every-ecosystem,
|
|
371
|
+
all-model, or npm-`latest` overclaim was found.
|
|
372
|
+
|
|
373
|
+
## 14. Publish-command rehearsal and no-publication proof
|
|
374
|
+
|
|
375
|
+
The exact allowed command was run:
|
|
376
|
+
|
|
377
|
+
```text
|
|
378
|
+
npm publish --dry-run --access public --tag preview --ignore-scripts
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
Result:
|
|
382
|
+
|
|
383
|
+
```text
|
|
384
|
+
package: @thomasminh1995/depverdict@0.6.0-alpha.1
|
|
385
|
+
access: public
|
|
386
|
+
tag: preview
|
|
387
|
+
files: 250
|
|
388
|
+
packed bytes: 664399
|
|
389
|
+
unpacked bytes: 2553288
|
|
390
|
+
shasum: 992d406797fc8741139bf8f14cfe172c327d8129
|
|
391
|
+
exit: 0
|
|
392
|
+
```
|
|
393
|
+
|
|
394
|
+
The package has no publish/install lifecycle script. The public registry
|
|
395
|
+
returned HTTP 404 after the dry run. No package, version, or dist-tag was
|
|
396
|
+
created or moved.
|
|
397
|
+
|
|
398
|
+
## 15. Provider-call count and cost
|
|
399
|
+
|
|
400
|
+
```text
|
|
401
|
+
Real AI provider calls: 0
|
|
402
|
+
Provider cost: USD 0
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
All scenarios used deterministic fixtures, fake runtimes, injected failures, or
|
|
406
|
+
offline CLI operation. GitHub and npm network calls were metadata/authorization
|
|
407
|
+
checks, not AI-provider calls.
|
|
408
|
+
|
|
409
|
+
## 16. Tests, retries, skips, and blocked checks
|
|
410
|
+
|
|
411
|
+
| Suite/check | Result |
|
|
412
|
+
| --- | --- |
|
|
413
|
+
| Canonical clean-clone tests | 651 passed, 0 failed, 0 skipped |
|
|
414
|
+
| Package guard | PASS |
|
|
415
|
+
| Focused product scenarios | 177 passed, 0 failed, 0 skipped |
|
|
416
|
+
| Official package smoke | PASS |
|
|
417
|
+
| Installed schema compilation | 22 passed |
|
|
418
|
+
| Retained critical qualification gates | 15 passed |
|
|
419
|
+
| Hosted Node 20/22/24/package smoke | PASS on `001dd5e…` |
|
|
420
|
+
|
|
421
|
+
Environment retries:
|
|
422
|
+
|
|
423
|
+
1. A broad filename scan initially matched seven intentional RR02 policy
|
|
424
|
+
documents. The corrected capture-tree/transcript scan found zero prohibited
|
|
425
|
+
files.
|
|
426
|
+
2. Cold-cache offline dependency installation was unavailable. A clean
|
|
427
|
+
network-resolved `--ignore-scripts` install passed, and the product workflow
|
|
428
|
+
itself then ran offline.
|
|
429
|
+
3. An initial installed root-conflict probe called a non-public root export.
|
|
430
|
+
The same packaged internal module was then exercised directly and returned
|
|
431
|
+
`ARTIFACT_ROOT_CONFLICT`; public export count remained the expected 438.
|
|
432
|
+
|
|
433
|
+
Blocked release check:
|
|
434
|
+
|
|
435
|
+
- hosted CI does not yet exist for the required evidence-bearing commit.
|
|
436
|
+
|
|
437
|
+
## 17. Defects by severity
|
|
438
|
+
|
|
439
|
+
### Blocker
|
|
440
|
+
|
|
441
|
+
None.
|
|
442
|
+
|
|
443
|
+
### High product/package/security defects
|
|
444
|
+
|
|
445
|
+
None.
|
|
446
|
+
|
|
447
|
+
### Release-gating evidence condition
|
|
448
|
+
|
|
449
|
+
The two required public qualification reports are not in the exact hosted SHA.
|
|
450
|
+
The old SHA is not presented as final. This condition maps to
|
|
451
|
+
`PREVIEW_RELEASE_EVIDENCE_COMMIT_REQUIRED`, not to product readiness.
|
|
452
|
+
|
|
453
|
+
### Medium
|
|
454
|
+
|
|
455
|
+
1. The conduct mailbox retains the former product name for the bounded preview.
|
|
456
|
+
2. Discussions are disabled.
|
|
457
|
+
3. Public branches are not protected.
|
|
458
|
+
4. Clean installation requires registry access unless dependency packuments are
|
|
459
|
+
already cached.
|
|
460
|
+
5. Release-note qualification-status wording should become publication-stable in
|
|
461
|
+
the evidence commit.
|
|
462
|
+
|
|
463
|
+
## 18. Known limitations
|
|
464
|
+
|
|
465
|
+
- pnpm and Yarn installed baselines are unresolved;
|
|
466
|
+
- Python environment/lockfile installed baselines are unresolved;
|
|
467
|
+
- source coverage is strongest for JavaScript/TypeScript;
|
|
468
|
+
- partial or unavailable coverage cannot prove non-impact;
|
|
469
|
+
- provider qualification is exact-identity only;
|
|
470
|
+
- Migration Checklist is experimental and human-reviewed;
|
|
471
|
+
- offline mode cannot invent targets, evidence, confidence, or recommendations;
|
|
472
|
+
- recovery/rollback plans are not synthesized or executed;
|
|
473
|
+
- npm publication remains separately authorized and interactive;
|
|
474
|
+
- the accepted pre-rename Release evidence gap remains bounded, not proven away.
|
|
475
|
+
|
|
476
|
+
## 19. Exact files created or changed
|
|
477
|
+
|
|
478
|
+
Created:
|
|
479
|
+
|
|
480
|
+
```text
|
|
481
|
+
docs/reviews/diff-05-final-preview-distribution-qualification.md
|
|
482
|
+
```
|
|
483
|
+
|
|
484
|
+
Pre-existing and intentionally unchanged:
|
|
485
|
+
|
|
486
|
+
```text
|
|
487
|
+
docs/reviews/diff-04-depverdict-distribution-identity-readiness-rereview.md
|
|
488
|
+
RR02 capture trees
|
|
489
|
+
```
|
|
490
|
+
|
|
491
|
+
No source, schema, test, package metadata, GitHub setting, Release, tag, npm
|
|
492
|
+
package, or dist-tag was modified.
|
|
493
|
+
|
|
494
|
+
## 20. Recommended release order and rollback boundary
|
|
495
|
+
|
|
496
|
+
Do not publish from `001dd5e…`. The later workflow should be:
|
|
497
|
+
|
|
498
|
+
1. review and commit the DIFF-04 and DIFF-05 reports;
|
|
499
|
+
2. make the preview release-note qualification sentence
|
|
500
|
+
publication-stable in the same evidence commit;
|
|
501
|
+
3. verify the resulting package count change from 250 to 252 and rerun package
|
|
502
|
+
guard, deterministic pack, clean install, focused scenarios, and canonical
|
|
503
|
+
tests;
|
|
504
|
+
4. push without force and wait for Node 20/22/24 plus package smoke on the exact
|
|
505
|
+
evidence SHA;
|
|
506
|
+
5. independently correlate local, remote, PR head, package candidate, and hosted
|
|
507
|
+
run SHA;
|
|
508
|
+
6. merge PR `#11` to `develop` only after review;
|
|
509
|
+
7. promote the intended immutable release commit to `main` according to branch
|
|
510
|
+
policy and verify hosted CI again on that final release commit;
|
|
511
|
+
8. create annotated tag `v0.6.0-alpha.1` on that exact `main` commit;
|
|
512
|
+
9. create a GitHub prerelease from the approved release notes;
|
|
513
|
+
10. only with separate interactive maintainer authorization, publish
|
|
514
|
+
`@thomasminh1995/depverdict@0.6.0-alpha.1` using public access and `preview`;
|
|
515
|
+
11. verify registry metadata, downloaded tarball SHA-256/npm integrity, dist-tags,
|
|
516
|
+
both CLI shims, and a clean install;
|
|
517
|
+
12. if publication fails, diagnose without moving the tag; if a bad immutable
|
|
518
|
+
package is published, deprecate the affected version and release a new
|
|
519
|
+
version rather than replacing bytes or force-moving refs.
|
|
520
|
+
|
|
521
|
+
Never move `latest`, force-move a tag, replace published artifact bytes, or
|
|
522
|
+
silently rewrite a GitHub Release.
|
|
523
|
+
|
|
524
|
+
## 21. Final validation matrix, verdict, and next gate
|
|
525
|
+
|
|
526
|
+
| Area | Result | Evidence |
|
|
527
|
+
| --- | --- | --- |
|
|
528
|
+
| Exact SHA | PASS | local/remote/PR/hosted/package candidate = `001dd5e…` |
|
|
529
|
+
| Hosted CI | PASS | Node 20/22/24 and package smoke on current product SHA |
|
|
530
|
+
| Worktree scope | BLOCKED | two required evidence reports are not committed |
|
|
531
|
+
| Identity | PASS | repository/package/version/CLI canonical |
|
|
532
|
+
| npm authorization | PASS | authenticated matching personal scope; write 2FA enabled |
|
|
533
|
+
| Tarball | PASS | deterministic, complete, clean, 250 files |
|
|
534
|
+
| Clean install | PASS | both CLIs/import/22 schemas/qualification |
|
|
535
|
+
| Sample | PASS | zero-secret, truthful `INSUFFICIENT_DATA` |
|
|
536
|
+
| Decisions | PASS | registry latest never becomes recommendation |
|
|
537
|
+
| Selector | PASS | exact duplicate and fail-before-provider cases |
|
|
538
|
+
| Handoff | PASS | evidence-bounded and human-reviewed |
|
|
539
|
+
| Completion | PASS | full default/strict/partial/cancel exit matrix |
|
|
540
|
+
| Qualification | PASS | exact retained identity only, 15/15 gates |
|
|
541
|
+
| Releases | PASS | historical releases truthful and unchanged |
|
|
542
|
+
| Security | PASS | PVR and private routes valid |
|
|
543
|
+
| Release notes | PASS | preview scope and limitations accurate |
|
|
544
|
+
| Dry run | PASS | public `preview`; registry remains 404 |
|
|
545
|
+
| Provider calls | PASS | zero, cost USD 0 |
|
|
546
|
+
|
|
547
|
+
```text
|
|
548
|
+
Verdict: PREVIEW_RELEASE_EVIDENCE_COMMIT_REQUIRED
|
|
549
|
+
Gate: COMMIT_EVIDENCE_AND_REFRESH_HOSTED_CI
|
|
550
|
+
```
|
|
551
|
+
|
|
552
|
+
Next task:
|
|
553
|
+
|
|
554
|
+
```text
|
|
555
|
+
DIFF-05-EVIDENCE — Commit public qualification evidence, stabilize the
|
|
556
|
+
pre-publication release-note sentence, requalify the expected 252-file tarball,
|
|
557
|
+
push without force, and wait for exact-SHA hosted CI.
|
|
558
|
+
```
|
|
559
|
+
|
|
560
|
+
This qualification ends here. It does not authorize merge, tag, GitHub Release,
|
|
561
|
+
npm publication, or dist-tag mutation.
|