Skip to content

Prepare repo for Phase 1 customer delivery - #119

Merged
joeshull merged 13 commits into
mainfrom
delivery-cleanup
Apr 8, 2026
Merged

Prepare repo for Phase 1 customer delivery#119
joeshull merged 13 commits into
mainfrom
delivery-cleanup

Conversation

@joeshull

@joeshull joeshull commented Apr 6, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Commit 17 previously-untracked evaluation artifacts (SE investigation, latency benchmark, test outputs)
  • Create phase2-research/ for state estimation investigation files (11 docs)
  • Create deliverables/whitepaper.md — ~2,500 word standalone white paper (SOW Task 1.3) referencing the report site for detail
  • Move top-level scripts/data/validation/ (zero consumers, cleans top level)
  • Remove sweep-data/ and sweep-reports/ from tracking (internal process artifacts)
  • Gitignore .claude/, tutorials/, sweep dirs
  • Track data/whitepaper_proposal.md (SOW document, previously hidden by gitignore pattern)
  • Rewrite README for analyst-first navigation (report site link → repository guide → tools table)
  • Add README files to data/, evaluations/, phase2-research/, deliverables/

Test plan

  • Verify pre-commit run --all-files passes in devcontainer
  • Verify report site builds (cd report && npm run build)
  • Review white paper content for factual accuracy
  • Clone fresh and walk the analyst path: README → report/ → evaluations/ → evaluation_guides/ → data/ → phase2-research/ → deliverables/
  • Confirm no untracked files remain after checkout

Joe added 10 commits April 6, 2026 17:03
Move 11 completed SE investigation files (per-tool findings + landscape
analysis) into a dedicated top-level directory, clearly separating
Phase 2 groundwork from Phase 1 evaluation results.
Add FNM ingestion test outputs (gridcal, pandapower), pandapower
interoperability observation, and PyPSA voltage angle export data.
Commit the completed latency benchmark investigation (B1-B6 tests) with
raw JSON results and analysis scripts for contingency analysis timing.
These validation scripts (validate_schema, generate_docs, etc.) operate
on data/ outputs and have zero consumers in CI or evaluations. Moving
them under data/ clears the top-level directory for analyst navigation.

Update pre-commit hook to reference new module path.
Note: report/scripts/ is a separate directory and is NOT affected.
- Remove sweep-data/ and sweep-reports/ from tracking (protocol
  evolution artifacts, internal process only)
- Remove .implement-report.md (internal implementation note)
- Gitignore .claude/, sweep-data/, sweep-reports/, tutorials/
- Remove *whitepaper*.md gitignore pattern (will need deliverables/)
Previously hidden by *whitepaper*.md gitignore pattern. This is the
contract scope of work and should be part of the deliverable record.

Exclude SOW and deliverables/ from real-grid-name hook since these
documents legitimately reference real grid operators.
Rewrite root README to lead with report site link and grade table,
followed by a repository guide organized for analysts vs developers.

Add README files to data/, evaluations/, and phase2-research/ explaining
directory structure and how to navigate results.
Standalone white paper covering executive summary, methodology, per-criterion
results, head-to-head ranking, sensitivity analysis, risk register, and
Phase 2 outlook. Content extracted and condensed from the report site.
Trim per-criterion detail and point readers to the companion report site
and repository for full test evidence. Expand methodology with tool
profiles and test network details.
The whitepaper_proposal.md is an internal contract document that should
not be part of the customer-facing deliverable.
Comment thread data/README.md Outdated
| Directory | Contents |
|-----------|----------|
| `networks/` | MATPOWER `.m` case files (IEEE 39-bus, ACTIVSg 2k, ACTIVSg 10k) |
| `fnm/` | Foundational Network Model — parsed hydro network data with intermediate schemas |

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

full network model.

Joe added 2 commits April 6, 2026 17:43
Replace exact network dimensions (bus/branch/generator counts, MW totals,
slack bus number) with rounded approximations across all evaluation results,
test scripts, observations, synthesis docs, and report pages.

Remove real CAISO FNM source filename, internal Case ID, and supplemental
CSV filenames. Replace with generic placeholders.
- Test count: "8 of 11" → "8 of 10" (A-7/A-8 removed in v10 protocol)
- PowerModels LOC: "269 lines/test" → "487 lines/test" (verified from D-5 NBNCL)
- A-11 distributed slack: "shared by every tool" → "five of six" (MATPOWER passes)
- Bus factor: "five of six" → "four of six" (PyPSA and pandapower both >1)
- GLPK: "all tools" → "five of six" (pandapower uses embedded PYPOWER solver)
@joeshull
joeshull merged commit 0e0f277 into main Apr 8, 2026
8 checks passed
joeshull added a commit that referenced this pull request Apr 8, 2026
* docs: add Phase 2 state estimation research to phase2-research/

Move 11 completed SE investigation files (per-tool findings + landscape
analysis) into a dedicated top-level directory, clearly separating
Phase 2 groundwork from Phase 1 evaluation results.

* docs: commit evaluation test outputs and observations

Add FNM ingestion test outputs (gridcal, pandapower), pandapower
interoperability observation, and PyPSA voltage angle export data.

* docs: add PyPSA latency benchmark results and test scripts

Commit the completed latency benchmark investigation (B1-B6 tests) with
raw JSON results and analysis scripts for contingency analysis timing.

* refactor: move top-level scripts/ to data/validation/

These validation scripts (validate_schema, generate_docs, etc.) operate
on data/ outputs and have zero consumers in CI or evaluations. Moving
them under data/ clears the top-level directory for analyst navigation.

Update pre-commit hook to reference new module path.
Note: report/scripts/ is a separate directory and is NOT affected.

* refactor: remove internal artifacts and update .gitignore

- Remove sweep-data/ and sweep-reports/ from tracking (protocol
  evolution artifacts, internal process only)
- Remove .implement-report.md (internal implementation note)
- Gitignore .claude/, sweep-data/, sweep-reports/, tutorials/
- Remove *whitepaper*.md gitignore pattern (will need deliverables/)

* docs: track SOW proposal document

Previously hidden by *whitepaper*.md gitignore pattern. This is the
contract scope of work and should be part of the deliverable record.

Exclude SOW and deliverables/ from real-grid-name hook since these
documents legitimately reference real grid operators.

* docs: rewrite README for analyst audience and add directory guides

Rewrite root README to lead with report site link and grade table,
followed by a repository guide organized for analysts vs developers.

Add README files to data/, evaluations/, and phase2-research/ explaining
directory structure and how to navigate results.

* docs: add Phase 1 white paper deliverable (SOW Task 1.3)

Standalone white paper covering executive summary, methodology, per-criterion
results, head-to-head ranking, sensitivity analysis, risk register, and
Phase 2 outlook. Content extracted and condensed from the report site.

* docs: condense white paper to ~2,500 words with report site references

Trim per-criterion detail and point readers to the companion report site
and repository for full test evidence. Expand methodology with tool
profiles and test network details.

* chore: gitignore SOW proposal document

The whitepaper_proposal.md is an internal contract document that should
not be part of the customer-facing deliverable.

* fix: correct FNM description to Full Network Model

* security: scrub real FNM identifiers from all tracked files

Replace exact network dimensions (bus/branch/generator counts, MW totals,
slack bus number) with rounded approximations across all evaluation results,
test scripts, observations, synthesis docs, and report pages.

Remove real CAISO FNM source filename, internal Case ID, and supplemental
CSV filenames. Replace with generic placeholders.

* fix: correct 6 factual errors in white paper and report site

- Test count: "8 of 11" → "8 of 10" (A-7/A-8 removed in v10 protocol)
- PowerModels LOC: "269 lines/test" → "487 lines/test" (verified from D-5 NBNCL)
- A-11 distributed slack: "shared by every tool" → "five of six" (MATPOWER passes)
- Bus factor: "five of six" → "four of six" (PyPSA and pandapower both >1)
- GLPK: "all tools" → "five of six" (pandapower uses embedded PYPOWER solver)

---------

Co-authored-by: Joe <joe@zerocapital.com>
joeshull added a commit that referenced this pull request Apr 8, 2026
* docs: add Phase 2 state estimation research to phase2-research/

Move 11 completed SE investigation files (per-tool findings + landscape
analysis) into a dedicated top-level directory, clearly separating
Phase 2 groundwork from Phase 1 evaluation results.

* docs: commit evaluation test outputs and observations

Add FNM ingestion test outputs (gridcal, pandapower), pandapower
interoperability observation, and PyPSA voltage angle export data.

* docs: add PyPSA latency benchmark results and test scripts

Commit the completed latency benchmark investigation (B1-B6 tests) with
raw JSON results and analysis scripts for contingency analysis timing.

* refactor: move top-level scripts/ to data/validation/

These validation scripts (validate_schema, generate_docs, etc.) operate
on data/ outputs and have zero consumers in CI or evaluations. Moving
them under data/ clears the top-level directory for analyst navigation.

Update pre-commit hook to reference new module path.
Note: report/scripts/ is a separate directory and is NOT affected.

* refactor: remove internal artifacts and update .gitignore

- Remove sweep-data/ and sweep-reports/ from tracking (protocol
  evolution artifacts, internal process only)
- Remove .implement-report.md (internal implementation note)
- Gitignore .claude/, sweep-data/, sweep-reports/, tutorials/
- Remove *whitepaper*.md gitignore pattern (will need deliverables/)

* docs: track SOW proposal document

Previously hidden by *whitepaper*.md gitignore pattern. This is the
contract scope of work and should be part of the deliverable record.

Exclude SOW and deliverables/ from real-grid-name hook since these
documents legitimately reference real grid operators.

* docs: rewrite README for analyst audience and add directory guides

Rewrite root README to lead with report site link and grade table,
followed by a repository guide organized for analysts vs developers.

Add README files to data/, evaluations/, and phase2-research/ explaining
directory structure and how to navigate results.

* docs: add Phase 1 white paper deliverable (SOW Task 1.3)

Standalone white paper covering executive summary, methodology, per-criterion
results, head-to-head ranking, sensitivity analysis, risk register, and
Phase 2 outlook. Content extracted and condensed from the report site.

* docs: condense white paper to ~2,500 words with report site references

Trim per-criterion detail and point readers to the companion report site
and repository for full test evidence. Expand methodology with tool
profiles and test network details.

* chore: gitignore SOW proposal document

The whitepaper_proposal.md is an internal contract document that should
not be part of the customer-facing deliverable.

* fix: correct FNM description to Full Network Model

* security: scrub real FNM identifiers from all tracked files

Replace exact network dimensions (bus/branch/generator counts, MW totals,
slack bus number) with rounded approximations across all evaluation results,
test scripts, observations, synthesis docs, and report pages.

Remove real CAISO FNM source filename, internal Case ID, and supplemental
CSV filenames. Replace with generic placeholders.

* fix: correct 6 factual errors in white paper and report site

- Test count: "8 of 11" → "8 of 10" (A-7/A-8 removed in v10 protocol)
- PowerModels LOC: "269 lines/test" → "487 lines/test" (verified from D-5 NBNCL)
- A-11 distributed slack: "shared by every tool" → "five of six" (MATPOWER passes)
- Bus factor: "five of six" → "four of six" (PyPSA and pandapower both >1)
- GLPK: "all tools" → "five of six" (pandapower uses embedded PYPOWER solver)

---------

Co-authored-by: Joe <joe@zerocapital.com>
joeshull added a commit that referenced this pull request Apr 8, 2026
* docs: add Phase 2 state estimation research to phase2-research/

Move 11 completed SE investigation files (per-tool findings + landscape
analysis) into a dedicated top-level directory, clearly separating
Phase 2 groundwork from Phase 1 evaluation results.

* docs: commit evaluation test outputs and observations

Add FNM ingestion test outputs (gridcal, pandapower), pandapower
interoperability observation, and PyPSA voltage angle export data.

* docs: add PyPSA latency benchmark results and test scripts

Commit the completed latency benchmark investigation (B1-B6 tests) with
raw JSON results and analysis scripts for contingency analysis timing.

* refactor: move top-level scripts/ to data/validation/

These validation scripts (validate_schema, generate_docs, etc.) operate
on data/ outputs and have zero consumers in CI or evaluations. Moving
them under data/ clears the top-level directory for analyst navigation.

Update pre-commit hook to reference new module path.
Note: report/scripts/ is a separate directory and is NOT affected.

* refactor: remove internal artifacts and update .gitignore

- Remove sweep-data/ and sweep-reports/ from tracking (protocol
  evolution artifacts, internal process only)
- Remove .implement-report.md (internal implementation note)
- Gitignore .claude/, sweep-data/, sweep-reports/, tutorials/
- Remove *whitepaper*.md gitignore pattern (will need deliverables/)

* docs: track SOW proposal document

Previously hidden by *whitepaper*.md gitignore pattern. This is the
contract scope of work and should be part of the deliverable record.

Exclude SOW and deliverables/ from real-grid-name hook since these
documents legitimately reference real grid operators.

* docs: rewrite README for analyst audience and add directory guides

Rewrite root README to lead with report site link and grade table,
followed by a repository guide organized for analysts vs developers.

Add README files to data/, evaluations/, and phase2-research/ explaining
directory structure and how to navigate results.

* docs: add Phase 1 white paper deliverable (SOW Task 1.3)

Standalone white paper covering executive summary, methodology, per-criterion
results, head-to-head ranking, sensitivity analysis, risk register, and
Phase 2 outlook. Content extracted and condensed from the report site.

* docs: condense white paper to ~2,500 words with report site references

Trim per-criterion detail and point readers to the companion report site
and repository for full test evidence. Expand methodology with tool
profiles and test network details.

* chore: gitignore SOW proposal document

The whitepaper_proposal.md is an internal contract document that should
not be part of the customer-facing deliverable.

* fix: correct FNM description to Full Network Model

* security: scrub real FNM identifiers from all tracked files

Replace exact network dimensions (bus/branch/generator counts, MW totals,
slack bus number) with rounded approximations across all evaluation results,
test scripts, observations, synthesis docs, and report pages.

Remove real CAISO FNM source filename, internal Case ID, and supplemental
CSV filenames. Replace with generic placeholders.

* fix: correct 6 factual errors in white paper and report site

- Test count: "8 of 11" → "8 of 10" (A-7/A-8 removed in v10 protocol)
- PowerModels LOC: "269 lines/test" → "487 lines/test" (verified from D-5 NBNCL)
- A-11 distributed slack: "shared by every tool" → "five of six" (MATPOWER passes)
- Bus factor: "five of six" → "four of six" (PyPSA and pandapower both >1)
- GLPK: "all tools" → "five of six" (pandapower uses embedded PYPOWER solver)

---------

Co-authored-by: Joe <joe@zerocapital.com>
joeshull added a commit that referenced this pull request Apr 8, 2026
* docs: add Phase 2 state estimation research to phase2-research/

Move 11 completed SE investigation files (per-tool findings + landscape
analysis) into a dedicated top-level directory, clearly separating
Phase 2 groundwork from Phase 1 evaluation results.

* docs: commit evaluation test outputs and observations

Add FNM ingestion test outputs (gridcal, pandapower), pandapower
interoperability observation, and PyPSA voltage angle export data.

* docs: add PyPSA latency benchmark results and test scripts

Commit the completed latency benchmark investigation (B1-B6 tests) with
raw JSON results and analysis scripts for contingency analysis timing.

* refactor: move top-level scripts/ to data/validation/

These validation scripts (validate_schema, generate_docs, etc.) operate
on data/ outputs and have zero consumers in CI or evaluations. Moving
them under data/ clears the top-level directory for analyst navigation.

Update pre-commit hook to reference new module path.
Note: report/scripts/ is a separate directory and is NOT affected.

* refactor: remove internal artifacts and update .gitignore

- Remove sweep-data/ and sweep-reports/ from tracking (protocol
  evolution artifacts, internal process only)
- Remove .implement-report.md (internal implementation note)
- Gitignore .claude/, sweep-data/, sweep-reports/, tutorials/
- Remove *whitepaper*.md gitignore pattern (will need deliverables/)

* docs: track SOW proposal document

Previously hidden by *whitepaper*.md gitignore pattern. This is the
contract scope of work and should be part of the deliverable record.

Exclude SOW and deliverables/ from real-grid-name hook since these
documents legitimately reference real grid operators.

* docs: rewrite README for analyst audience and add directory guides

Rewrite root README to lead with report site link and grade table,
followed by a repository guide organized for analysts vs developers.

Add README files to data/, evaluations/, and phase2-research/ explaining
directory structure and how to navigate results.

* docs: add Phase 1 white paper deliverable (SOW Task 1.3)

Standalone white paper covering executive summary, methodology, per-criterion
results, head-to-head ranking, sensitivity analysis, risk register, and
Phase 2 outlook. Content extracted and condensed from the report site.

* docs: condense white paper to ~2,500 words with report site references

Trim per-criterion detail and point readers to the companion report site
and repository for full test evidence. Expand methodology with tool
profiles and test network details.

* chore: gitignore SOW proposal document

The whitepaper_proposal.md is an internal contract document that should
not be part of the customer-facing deliverable.

* fix: correct FNM description to Full Network Model

* security: scrub real FNM identifiers from all tracked files

Replace exact network dimensions (bus/branch/generator counts, MW totals,
slack bus number) with rounded approximations across all evaluation results,
test scripts, observations, synthesis docs, and report pages.

Remove real CAISO FNM source filename, internal Case ID, and supplemental
CSV filenames. Replace with generic placeholders.

* fix: correct 6 factual errors in white paper and report site

- Test count: "8 of 11" → "8 of 10" (A-7/A-8 removed in v10 protocol)
- PowerModels LOC: "269 lines/test" → "487 lines/test" (verified from D-5 NBNCL)
- A-11 distributed slack: "shared by every tool" → "five of six" (MATPOWER passes)
- Bus factor: "five of six" → "four of six" (PyPSA and pandapower both >1)
- GLPK: "all tools" → "five of six" (pandapower uses embedded PYPOWER solver)

---------

Co-authored-by: Joe <joe@zerocapital.com>
joeshull added a commit that referenced this pull request Apr 8, 2026
* docs: add Phase 2 state estimation research to phase2-research/

Move 11 completed SE investigation files (per-tool findings + landscape
analysis) into a dedicated top-level directory, clearly separating
Phase 2 groundwork from Phase 1 evaluation results.

* docs: commit evaluation test outputs and observations

Add FNM ingestion test outputs (gridcal, pandapower), pandapower
interoperability observation, and PyPSA voltage angle export data.

* docs: add PyPSA latency benchmark results and test scripts

Commit the completed latency benchmark investigation (B1-B6 tests) with
raw JSON results and analysis scripts for contingency analysis timing.

* refactor: move top-level scripts/ to data/validation/

These validation scripts (validate_schema, generate_docs, etc.) operate
on data/ outputs and have zero consumers in CI or evaluations. Moving
them under data/ clears the top-level directory for analyst navigation.

Update pre-commit hook to reference new module path.
Note: report/scripts/ is a separate directory and is NOT affected.

* refactor: remove internal artifacts and update .gitignore

- Remove sweep-data/ and sweep-reports/ from tracking (protocol
  evolution artifacts, internal process only)
- Remove .implement-report.md (internal implementation note)
- Gitignore .claude/, sweep-data/, sweep-reports/, tutorials/
- Remove *whitepaper*.md gitignore pattern (will need deliverables/)

* docs: track SOW proposal document

Previously hidden by *whitepaper*.md gitignore pattern. This is the
contract scope of work and should be part of the deliverable record.

Exclude SOW and deliverables/ from real-grid-name hook since these
documents legitimately reference real grid operators.

* docs: rewrite README for analyst audience and add directory guides

Rewrite root README to lead with report site link and grade table,
followed by a repository guide organized for analysts vs developers.

Add README files to data/, evaluations/, and phase2-research/ explaining
directory structure and how to navigate results.

* docs: add Phase 1 white paper deliverable (SOW Task 1.3)

Standalone white paper covering executive summary, methodology, per-criterion
results, head-to-head ranking, sensitivity analysis, risk register, and
Phase 2 outlook. Content extracted and condensed from the report site.

* docs: condense white paper to ~2,500 words with report site references

Trim per-criterion detail and point readers to the companion report site
and repository for full test evidence. Expand methodology with tool
profiles and test network details.

* chore: gitignore SOW proposal document

The whitepaper_proposal.md is an internal contract document that should
not be part of the customer-facing deliverable.

* fix: correct FNM description to Full Network Model

* security: scrub real FNM identifiers from all tracked files

Replace exact network dimensions (bus/branch/generator counts, MW totals,
slack bus number) with rounded approximations across all evaluation results,
test scripts, observations, synthesis docs, and report pages.

Remove real CAISO FNM source filename, internal Case ID, and supplemental
CSV filenames. Replace with generic placeholders.

* fix: correct 6 factual errors in white paper and report site

- Test count: "8 of 11" → "8 of 10" (A-7/A-8 removed in v10 protocol)
- PowerModels LOC: "269 lines/test" → "487 lines/test" (verified from D-5 NBNCL)
- A-11 distributed slack: "shared by every tool" → "five of six" (MATPOWER passes)
- Bus factor: "five of six" → "four of six" (PyPSA and pandapower both >1)
- GLPK: "all tools" → "five of six" (pandapower uses embedded PYPOWER solver)

---------

Co-authored-by: Joe <joe@zerocapital.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant