Files
2026-08-03 18:42:47 +08:00

2.6 KiB
Executable File

E2E Task 2 — Isolated real backend end-to-end validation

Source: docs/superpowers/plans/2026-07-10-ppi-id-map-e2e-wiring.md, Task 2.

Binding constraints

  • Validation/reporting only; do not modify production or tests unless Task 1 wiring fails its specified behavior.
  • Use real inputs from job_1783583324146_c5cb74; do not fabricate biological fixtures.
  • Execute standard apps.web.pipeline_backend.run_stage("ppi", ...), not direct PpiSkill.run as the E2E evidence.
  • Use an isolated /tmp job workspace/input layout; do not write historical job outputs.
  • Record real command, hashes, final artifacts, live STRING result, and historical before/after hashes.
  • Do not assert historical 0+12 or empty-network as fixed external behavior; record actual live response.
  • Use test4py311. Git is unavailable.

Required work

  1. Hash original canonical members, Ortholog mapping, historical PPI manifest, and historical ID-resolution file if present.
  2. Locate the real Ft/soe scope JSON through manifests/files; do not guess. Create an isolated validation JobInfo under /tmp and copy only required real inputs into the expected layout:
    • input/<validation-job>/soe/soe.pep_cds_idmap.tsv;
    • workspace/<validation-job>/final/Ft.SPL.curated_members.id;
    • workspace/<validation-job>/final/Ft.SPL.orthologs.txt;
    • required scope JSON for Ft target + soe reference.
  3. Call standard pipeline_backend.run_stage("ppi", validation_job, "Ft.SPL", ppi_species="soe", ppi_score=200, scope_file=..., analysis_route="target_plus_reference").
  4. Capture stdout/log/actual subprocess command and prove exact isolated --mapping and --id-map paths.
  5. Require final artifacts:
    • Ft.SPL.ppi_network.tsv
    • Ft.SPL.ppi_report.md
    • Ft.SPL.ppi_url.txt
    • Ft.SPL.ppi_id_resolution.tsv
    • Ft.SPL.ppi.manifest.json
  6. Inspect real results: 24 relationship rows, 12 distinct nonempty STRING IDs, 12 nonempty preferredName values, manifest final artifact paths, mapping-method counts, and actual network status/count. If live returns [], require success/empty_network.
  7. Re-hash original historical files and prove equality.
  8. Run final 75-test regression and py_compile on skills/ppi/run.py and apps/web/pipeline_backend.py.
  9. Write 项目记录/2026-07-10_PPI_ID端到端接线验证记录.md with paths/hashes, actual command, results, historical preservation, tests, restart/diagnosis status, and risks.

Report

Write .superpowers/sdd/e2e-task-2-report.md with status, validation level, isolated paths, command evidence, live counts/status, artifact hashes, historical hash comparison, tests, blockers, and self-review.