Add 64 public contracts; verify 118 paths and two dashboards - #6
Open
kvkenyon wants to merge 1 commit into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This adds 64 source-backed Public Reports contracts to the prior 56 and two anonymous price/supply-demand dashboards. It stacks on PR #4 at
dea83409ad8666545f518154e90722f1b42ff69c; it excludes ESR service/auth work and the archive samplers delivered separately in PR #5. Existing PRs are unchanged and unmerged.The generated inventory is 120 paths in 87 namespaces. Installed-wheel requests verified 118 paths in both current and oldest-first directions, producing 242 typed API rows in 237 successful designated receipts (119 current, 118 historical; the prior DAM second page is the extra current receipt). This slice adds 124 successful one-row receipts across 62 new paths. NP4-442-CD and NP4-443-CD have source-backed schemas and offline fixtures but failed installed retrieval in both directions, including one bounded retry. All eight failed operations remain visible. Empty
pending_generated_pathsmeans every generated path was attempted;pending_generated_both_period_pathslists these two failures. Generation is not successful retrieval.The two anonymous captures decode 537 source rows: 80 RT prices, 24 DAM prices, 289 supply/demand rows and 144 published outlook rows. The observed stale price capture remains explicitly stale. Source-declared DECIMAL is supported without coercing strings/booleans, missing schemas fail closed, and evidence indexing distinguishes attempts, failures, typed rows and complete selections. All legacy runtime files remain byte-identical to the audit base; imports, signatures, defaults, exceptions and DataFrame behavior are preserved.
The other 123 observed API paths remain outside generated coverage. NP3-763-CD's declared/observed hour-ending contradiction stays untyped. Five operations in retired products stay explicitly retired; available history is separate work. Hourly-load 2001 remains unavailable. Secure, Certified, participant EWS, private telemetry/bids/COP/awards, customer records and participant settlements remain restricted. Authorized authenticated public ERCOT requests occurred. No restricted request, historical file download in this slice, bulk historical extraction, paid access, secret copying, forecast computation, no-mistakes run or merge occurred. No full-history claim follows from one-row observations.
Primary evidence: ERCOT Public Reports OpenAPI, public product metadata, System-Wide Prices, and Supply and Demand. Exact source hashes/receipts are pinned in the repository. See
docs/evidence/installed-registry-index.json,docs/evidence/installed-additional-dashboard-receipts.json, anddocs/public-coverage-task-note.md.Validation used the exact staged tree at
/tmp/tinyercot-coverage-check.lDHLK0, preserving and excluding the other worker's uncommitted files:git checkout-index --all --prefix=/tmp/tinyercot-coverage-check.lDHLK0/ cd /tmp/tinyercot-coverage-check.lDHLK0 /tmp/tinyercot-locked-wheel/bin/python -m pytest -q /tmp/tinyercot-typing-proof.fbtIin/venv/bin/python -m pytest -q /tmp/tinyercot-typing-proof.fbtIin/venv/bin/python -m pytest -q tests/test_discover_public.py tests/test_installed_evidence_index.py tests/test_public_coverage.py tests/test_probe_registry.py tests/test_additional_dashboards.py /tmp/tinyercot-typing-proof.fbtIin/venv/bin/python -m ruff check tools tinyercot/catalog.py tinyercot/public tests /tmp/tinyercot-typing-proof.fbtIin/venv/bin/python -m ruff format --check tools tinyercot/catalog.py tinyercot/public tests /tmp/tinyercot-typing-proof.fbtIin/venv/bin/python tools/generate_client.py --check /tmp/tinyercot-typing-proof.fbtIin/venv/bin/python tools/generate_public.py --check uv build uv pip install --python /tmp/tinyercot-locked-wheel/bin/python --no-deps --reinstall /tmp/tinyercot-coverage-check.lDHLK0/dist/tinyercot-0.2.2-py3-none-any.whl uv pip install --python /tmp/tinyercot-typing-proof.fbtIin/venv/bin/python --no-deps --reinstall /tmp/tinyercot-coverage-check.lDHLK0/dist/tinyercot-0.2.2-py3-none-any.whl /tmp/tinyercot-locked-wheel/bin/python -I tests/wheel_smoke.py /tmp/tinyercot-locked-wheel/bin/python tools/check_typing.py --python /tmp/tinyercot-locked-wheel/bin/python /tmp/tinyercot-typing-proof.fbtIin/venv/bin/python -I tests/wheel_smoke.py /tmp/tinyercot-typing-proof.fbtIin/venv/bin/python tools/check_typing.py --python /tmp/tinyercot-typing-proof.fbtIin/venv/bin/pythonResults: 1450 passed, 1 skipped on Python 3.11.14 and 3.14.0; 82 focused tests passed; Ruff lint/format passed for 66 Python files; both generators reproduced pinned output; wheel and sdist built. Both installed smoke and PEP 561 proofs passed: 510 legacy methods, 1334 legacy row fields, 120 current endpoint/product facades, 1143 current row fields, 2001 filters and 128 rejected invalid uses, plus live/archive/metadata contracts. Google-style public documentation reviewed. An earlier source-tree test run found two stale-index failures; the final offline index rebuild resolved them.
Before commit,
git diff --cached --checkpassed,git diff d1daad25df42d3fff41f88b907d99ef325b970e0 -- tinyercot/__init__.py tinyercot/_client.py tinyercot/_generated.pywas empty,git check-ignore .envconfirmed exclusion, and status/diff/PR base were inspected. Exact bounded live commands and outcomes are in the task note. Remaining Public Reports and public binary/retired history work continues independently without waiting for merges.