4.7 KiB
Executable File
Convergence Task 4 Report
Status
DONE — the independent review required the binding stop rule to be applied. skills/ppi/run.py was restored byte-for-byte from the archived green snapshot. Task 4 therefore ends as a deliberate no-op convergence result with no active production-code change.
Green archive
- Path:
项目记录/代码归档/2026-07-10_PPI_ID修订收敛前快照/run.green-before-resolver-convergence.py.txt - Archived line count: 1300
- Archived SHA-256:
7e8d7b6dcddada1d8961562bf164faf2def4a094396ae73b14f7aa57230e77a4 - Archive was copied before source inspection/editing and matched the active file checksum at creation.
Production caller map
CodeGraph was queried before navigation; rg then confirmed exact occurrences outside the archive.
| Symbol | Production caller | Conclusion |
|---|---|---|
_query_candidates |
PpiSkill.resolve_query_ids |
One caller, retained: candidate ordering, normalization, alias provenance, and de-duplication are an independent semantic boundary. |
_resolution_row |
PpiSkill.resolve_query_ids |
One caller, retained after review: it is the named projection boundary for public row fields and evidence-source precedence. |
_exclude_conflicting_orthologs |
PpiSkill.resolve_query_ids |
One caller, retained: canonical/reference convergence and ambiguous_ortholog propagation are an independent semantic rule. |
_resolution_metrics |
PpiSkill.resolve_query_ids |
One caller, retained: it is the direct summary boundary over final rows plus explicit canonical members. |
write_string_resolution_report |
PpiSkill.run |
One caller, retained: TSV serialization is an independent artifact/output boundary. |
Exact active diff scope
- No active production-code diff remains:
cmp -sconfirmsskills/ppi/run.pyis byte-for-byte equal to the archived green snapshot. - The attempted
_resolution_rowfold was fully discarded; no replacement fold was attempted. - No changes remain to
StringAPI/URL code, deterministic resolver code,gfa_core/string_rate_gate.py, backend, frontend, CLI, Reset, contracts, artifacts, or metrics schemas.
Before/after
skills/ppi/run.py: 1300 → 1300 lines (net 0 after restore).- Before SHA-256:
7e8d7b6dcddada1d8961562bf164faf2def4a094396ae73b14f7aa57230e77a4 - After SHA-256:
7e8d7b6dcddada1d8961562bf164faf2def4a094396ae73b14f7aa57230e77a4 - Equality evidence:
cmp -s skills/ppi/run.py <archive>exited 0.
Validation
Fresh verification after exact restoration:
test_ppi_id_resolution.py+test_ppi_string_policy.py: 32 passed.- Filtered
test_pipeline_backend_execution_env.py: 28 passed, 4 deselected. - Combined static regression: 70 passed.
py_compilefor the five specified Python files: exit 0.- The retained real-shape regression explicitly asserts 24 canonical members, 24 relationship rows, 12 unique reference queries, 5 raw resolutions, 7 GeneID-only fallback resolutions, 12 selected STRING queries, and 24 resolved members.
The test runs emitted the pre-existing requests dependency compatibility warning for urllib3/chardet/charset_normalizer; there were no test failures.
Stop-rule decision
RESTORE. Independent review found the attempted change lateral: it replaced a four-line named projection phase with a 33-line inline block, reduced the file by only six lines, and made the orchestration method denser. _resolution_row centralizes non-trivial public provenance projection, especially candidate_gene_id, selected_query_id, method, and three-way evidence_source precedence. The archived green file was therefore restored exactly, and no corrective machinery or alternate fold was added.
Concerns
- Validation is deterministic unit/backend/static regression only; no live STRING request or real-data stage run was required by Task 4.
- The environment has a
requestsdependency compatibility warning, unrelated to this change.
Review fix
- Read
.superpowers/sdd/convergence-task-4-review.mdand accepted itsRESTOREdisposition. - Copied the archived green snapshot over
skills/ppi/run.pywithout modifying the archive. - Confirmed byte equality with
cmp -s, matching SHA-256 values, and matching 1300-line counts. - Did not attempt another fold.
Self-review
- No active production-code changed line remains for Task 4.
_resolution_rowis restored as the explicit public-row/provenance projection boundary.- Final
PpiResolutionRowfields, evidence-source precedence, candidate order, mapping attribution, ambiguity/convergence, relationship preservation, final STRING-ID de-duplication, and metric denominators are identical to the archived green implementation and covered by the fresh green tests. - Frozen layers were not edited.