Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions docs/evidence/issue-1773-dev-tool-archive-bindings/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Reviewed dashboard validation successor for dev-tool pins

Existing generated dependency delivery1772 atadafa19c393197ea2ea8ad9c540200063b1edbd6 changes Black26.10.0→26.10.1 and Ruff0.16.10→0.17.0. The historical review-recovery manifest pinned the entire then-current pyproject byte sequence, so these legitimate tool-only updates failed its current-input check. The authentic generated pyproject is retained with GitHub blob/head/SHA256/length provenance. Original checker:1FAIL; successor checker on the exact same bytes:1PASS.

The original issue1750 archives and manifests remain byte-identical. Historical pyproject and validator snapshots match their original manifest hashes. The successor binds the original manifest and new reviewed validator hash separately. All four product/replay inputs retain their exact historical current-input bindings. Current project semantics must match the historical input except the version values of exactly pinned Black/Ruff requirements; names/extras/markers, every other dependency and all other project/tool settings remain checked. Non-exact/wildcard formatter pins, unrelated project/dependency changes, or changed product/validator bytes fail.

Current main pyproject is unchanged. This does not rewrite historical experiments or claim that they used newer tool versions. The successor is a newly reviewed validation contract for the existing delivery prerequisite.

Validation:8focused successor controlsPASS; full dashboard evidence/replay/loader suite47PASS, including actual ten intended assertion RED/restored GREEN replay pairs. Original archive hash2204105d4a9239531d5d7c65c49fba86ce551e9d714d47e4d2f97c965e434dd1 verified unchanged. Black/Ruff/diff checks pass.

Commands: `/opt/anaconda3/bin/python3 -m pytest tests/test_dashboard_read_failure_evidence.py tests/test_dashboard_read_failure_replay.py tests/test_dashboard_loader_failures.py -q -o addopts=`. To replay the generated-input contrast, save main pyproject bytes, substitute only the retained authenticated generated pyproject, run the named recovery test, and restore the original bytes. Do not edit generated branch1772.

Hosted current-head CI/review, guarded source delivery, actual verification and source-owned Maint52/71 regeneration remain separate gates.

Hosted sourcePR1774/run38825093631 correctly rejected the newly imported transitive `packaging` dependency as undeclared. The correction uses only stdlib `re`/`tomllib` and the bounded plain numeric Black/Ruff release-pin syntax. Extras, markers and alternate operators are not allowed changes to the historical formatter requirement. No pyproject or lock edit is needed. Dependency verificationPASS, focused9PASS, full dashboard evidence/replay/loader48PASS. Current validator binding refreshed to the reviewed new checker bytes; original archive/manifest/snapshots unchanged.
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"schema": "dashboard-review-recovery-successor/v1",
"historical_manifest_sha256": "c08ee51933e9c53f6528a8d0731fc94fbf3e153b4f0a356cab58a2ea21d517a6",
"current_validator_sha256": "0dae7c5d64c320edd88fd5724c69becf5767f31555928409bdb2b897ce4efd34"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
............................. [100%]
=============================== warnings summary ===============================
../../../../../../../opt/anaconda3/lib/python3.12/site-packages/sklearn/utils/_param_validation.py:11
/opt/anaconda3/lib/python3.12/site-packages/sklearn/utils/_param_validation.py:11: UserWarning: A NumPy version >=2.0.0 and <2.8.0 is required for this version of SciPy (detected version 1.26.4)
from scipy.sparse import csr_matrix, issparse

../../../../../../../opt/anaconda3/lib/python3.12/site-packages/scipy/sparse/_sputils.py:17
/opt/anaconda3/lib/python3.12/site-packages/scipy/sparse/_sputils.py:17: FutureWarning: In the future `np.long` will be defined as the corresponding NumPy scalar.
np.uintc, np.long, np.ulong, np.longlong, np.ulonglong,

../../../../../../../opt/anaconda3/lib/python3.12/site-packages/langsmith/evaluation/_key_extraction.py:20
/opt/anaconda3/lib/python3.12/site-packages/langsmith/evaluation/_key_extraction.py:20: DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14; use ast.Constant instead
(ast.Str, ast.Constant) if hasattr(ast, "Str") else (ast.Constant,)

api/chat.py:1501
/Users/teacher/.codex/automations/sync-dependency-pr-closer/worktrees/manager-database-1773/api/chat.py:1501: DeprecationWarning:
on_event is deprecated, use lifespan event handlers instead.

Read more about it in the
[FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/).

@app.on_event("startup")

../../../../../../../opt/anaconda3/lib/python3.12/site-packages/fastapi/applications.py:4675
../../../../../../../opt/anaconda3/lib/python3.12/site-packages/fastapi/applications.py:4675
../../../../../../../opt/anaconda3/lib/python3.12/site-packages/fastapi/applications.py:4675
/opt/anaconda3/lib/python3.12/site-packages/fastapi/applications.py:4675: DeprecationWarning:
on_event is deprecated, use lifespan event handlers instead.

Read more about it in the
[FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/).

return self.router.on_event(event_type) # ty: ignore[deprecated]

api/chat.py:1801
/Users/teacher/.codex/automations/sync-dependency-pr-closer/worktrees/manager-database-1773/api/chat.py:1801: DeprecationWarning:
on_event is deprecated, use lifespan event handlers instead.

Read more about it in the
[FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/).

@app.on_event("shutdown")

api/chat.py:1808
/Users/teacher/.codex/automations/sync-dependency-pr-closer/worktrees/manager-database-1773/api/chat.py:1808: DeprecationWarning:
on_event is deprecated, use lifespan event handlers instead.

Read more about it in the
[FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/).

@app.on_event("shutdown")

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
............................................... [100%]
=============================== warnings summary ===============================
../../../../../../../opt/anaconda3/lib/python3.12/site-packages/sklearn/utils/_param_validation.py:11
/opt/anaconda3/lib/python3.12/site-packages/sklearn/utils/_param_validation.py:11: UserWarning: A NumPy version >=2.0.0 and <2.8.0 is required for this version of SciPy (detected version 1.26.4)
from scipy.sparse import csr_matrix, issparse

../../../../../../../opt/anaconda3/lib/python3.12/site-packages/scipy/sparse/_sputils.py:17
/opt/anaconda3/lib/python3.12/site-packages/scipy/sparse/_sputils.py:17: FutureWarning: In the future `np.long` will be defined as the corresponding NumPy scalar.
np.uintc, np.long, np.ulong, np.longlong, np.ulonglong,

../../../../../../../opt/anaconda3/lib/python3.12/site-packages/langsmith/evaluation/_key_extraction.py:20
/opt/anaconda3/lib/python3.12/site-packages/langsmith/evaluation/_key_extraction.py:20: DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14; use ast.Constant instead
(ast.Str, ast.Constant) if hasattr(ast, "Str") else (ast.Constant,)

api/chat.py:1501
/Users/teacher/.codex/automations/sync-dependency-pr-closer/worktrees/manager-database-1773/api/chat.py:1501: DeprecationWarning:
on_event is deprecated, use lifespan event handlers instead.

Read more about it in the
[FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/).

@app.on_event("startup")

../../../../../../../opt/anaconda3/lib/python3.12/site-packages/fastapi/applications.py:4675
../../../../../../../opt/anaconda3/lib/python3.12/site-packages/fastapi/applications.py:4675
../../../../../../../opt/anaconda3/lib/python3.12/site-packages/fastapi/applications.py:4675
/opt/anaconda3/lib/python3.12/site-packages/fastapi/applications.py:4675: DeprecationWarning:
on_event is deprecated, use lifespan event handlers instead.

Read more about it in the
[FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/).

return self.router.on_event(event_type) # ty: ignore[deprecated]

api/chat.py:1801
/Users/teacher/.codex/automations/sync-dependency-pr-closer/worktrees/manager-database-1773/api/chat.py:1801: DeprecationWarning:
on_event is deprecated, use lifespan event handlers instead.

Read more about it in the
[FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/).

@app.on_event("shutdown")

api/chat.py:1808
/Users/teacher/.codex/automations/sync-dependency-pr-closer/worktrees/manager-database-1773/api/chat.py:1808: DeprecationWarning:
on_event is deprecated, use lifespan event handlers instead.

Read more about it in the
[FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/).

@app.on_event("shutdown")

../../../../../../../opt/anaconda3/lib/python3.12/site-packages/pandas/core/computation/expressions.py:23
/opt/anaconda3/lib/python3.12/site-packages/pandas/core/computation/expressions.py:23: UserWarning: Pandas requires version '2.10.2' or newer of 'numexpr' (version '2.8.7' currently installed).
from pandas.core.computation.check import NUMEXPR_INSTALLED

../../../../../../../opt/anaconda3/lib/python3.12/site-packages/pandas/core/arrays/masked.py:56
/opt/anaconda3/lib/python3.12/site-packages/pandas/core/arrays/masked.py:56: UserWarning: Pandas requires version '1.4.2' or newer of 'bottleneck' (version '1.3.7' currently installed).
from pandas.core import (

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
47 passed, 11 warnings in 136.58s (0:02:16)
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
F [100%]
=================================== FAILURES ===================================
________ test_dashboard_review_recovery_archive_and_six_current_inputs _________

def test_dashboard_review_recovery_archive_and_six_current_inputs():
recovery = EVIDENCE / "review-recovery-20261012"
manifest = json.loads((recovery / "manifest.json").read_text())
proof = recovery / "proof.tar.gz"
assert digest(proof.read_bytes()) == manifest["archive_sha256"]
with tarfile.open(proof) as bundle:
members = bundle.getmembers()
assert len(members) == len(manifest["members"]) == 88
assert all(member.isfile() for member in members)
assert len({member.name for member in members}) == len(members)
assert {member.name for member in members} == set(manifest["members"])
for member in members:
raw = bundle.extractfile(member).read()
assert len(raw) == manifest["members"][member.name]["bytes"], member.name
assert digest(raw) == manifest["members"][member.name]["sha256"], member.name
assert set(manifest["current_inputs"]) == {
SOURCE,
TEST,
DRIVER,
"tests/test_dashboard_read_failure_replay.py",
"tests/test_dashboard_read_failure_evidence.py",
"pyproject.toml",
}
for name, expected in manifest["current_inputs"].items():
> assert digest((ROOT / name).read_bytes()) == expected, name
E AssertionError: pyproject.toml
E assert '90a215cb26ba...bc385e8cff2e3' == '8069f8a24b79...788cb94dd5c4f'
E
E - 8069f8a24b7995a866613454ae2f2268cf601c9b5a1fcbab3c0788cb94dd5c4f
E + 90a215cb26ba3a90a88e88c6684678ba4ab5897b666cf7935eebc385e8cff2e3

tests/test_dashboard_read_failure_evidence.py:118: AssertionError
=============================== warnings summary ===============================
../../../../../../../opt/anaconda3/lib/python3.12/site-packages/sklearn/utils/_param_validation.py:11
/opt/anaconda3/lib/python3.12/site-packages/sklearn/utils/_param_validation.py:11: UserWarning: A NumPy version >=2.0.0 and <2.8.0 is required for this version of SciPy (detected version 1.26.4)
from scipy.sparse import csr_matrix, issparse

../../../../../../../opt/anaconda3/lib/python3.12/site-packages/scipy/sparse/_sputils.py:17
/opt/anaconda3/lib/python3.12/site-packages/scipy/sparse/_sputils.py:17: FutureWarning: In the future `np.long` will be defined as the corresponding NumPy scalar.
np.uintc, np.long, np.ulong, np.longlong, np.ulonglong,

../../../../../../../opt/anaconda3/lib/python3.12/site-packages/langsmith/evaluation/_key_extraction.py:20
/opt/anaconda3/lib/python3.12/site-packages/langsmith/evaluation/_key_extraction.py:20: DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14; use ast.Constant instead
(ast.Str, ast.Constant) if hasattr(ast, "Str") else (ast.Constant,)

api/chat.py:1501
/Users/teacher/.codex/automations/sync-dependency-pr-closer/worktrees/manager-database-1773/api/chat.py:1501: DeprecationWarning:
on_event is deprecated, use lifespan event handlers instead.

Read more about it in the
[FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/).

@app.on_event("startup")

../../../../../../../opt/anaconda3/lib/python3.12/site-packages/fastapi/applications.py:4675
../../../../../../../opt/anaconda3/lib/python3.12/site-packages/fastapi/applications.py:4675
../../../../../../../opt/anaconda3/lib/python3.12/site-packages/fastapi/applications.py:4675
/opt/anaconda3/lib/python3.12/site-packages/fastapi/applications.py:4675: DeprecationWarning:
on_event is deprecated, use lifespan event handlers instead.

Read more about it in the
[FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/).

return self.router.on_event(event_type) # ty: ignore[deprecated]

api/chat.py:1801
/Users/teacher/.codex/automations/sync-dependency-pr-closer/worktrees/manager-database-1773/api/chat.py:1801: DeprecationWarning:
on_event is deprecated, use lifespan event handlers instead.

Read more about it in the
[FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/).

@app.on_event("shutdown")

api/chat.py:1808
/Users/teacher/.codex/automations/sync-dependency-pr-closer/worktrees/manager-database-1773/api/chat.py:1808: DeprecationWarning:
on_event is deprecated, use lifespan event handlers instead.

Read more about it in the
[FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/).

@app.on_event("shutdown")

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_dashboard_read_failure_evidence.py::test_dashboard_review_recovery_archive_and_six_current_inputs
1 failed, 9 warnings in 0.22s
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
. [100%]
=============================== warnings summary ===============================
../../../../../../../opt/anaconda3/lib/python3.12/site-packages/sklearn/utils/_param_validation.py:11
/opt/anaconda3/lib/python3.12/site-packages/sklearn/utils/_param_validation.py:11: UserWarning: A NumPy version >=2.0.0 and <2.8.0 is required for this version of SciPy (detected version 1.26.4)
from scipy.sparse import csr_matrix, issparse

../../../../../../../opt/anaconda3/lib/python3.12/site-packages/scipy/sparse/_sputils.py:17
/opt/anaconda3/lib/python3.12/site-packages/scipy/sparse/_sputils.py:17: FutureWarning: In the future `np.long` will be defined as the corresponding NumPy scalar.
np.uintc, np.long, np.ulong, np.longlong, np.ulonglong,

../../../../../../../opt/anaconda3/lib/python3.12/site-packages/langsmith/evaluation/_key_extraction.py:20
/opt/anaconda3/lib/python3.12/site-packages/langsmith/evaluation/_key_extraction.py:20: DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14; use ast.Constant instead
(ast.Str, ast.Constant) if hasattr(ast, "Str") else (ast.Constant,)

api/chat.py:1501
/Users/teacher/.codex/automations/sync-dependency-pr-closer/worktrees/manager-database-1773/api/chat.py:1501: DeprecationWarning:
on_event is deprecated, use lifespan event handlers instead.

Read more about it in the
[FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/).

@app.on_event("startup")

../../../../../../../opt/anaconda3/lib/python3.12/site-packages/fastapi/applications.py:4675
../../../../../../../opt/anaconda3/lib/python3.12/site-packages/fastapi/applications.py:4675
../../../../../../../opt/anaconda3/lib/python3.12/site-packages/fastapi/applications.py:4675
/opt/anaconda3/lib/python3.12/site-packages/fastapi/applications.py:4675: DeprecationWarning:
on_event is deprecated, use lifespan event handlers instead.

Read more about it in the
[FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/).

return self.router.on_event(event_type) # ty: ignore[deprecated]

api/chat.py:1801
/Users/teacher/.codex/automations/sync-dependency-pr-closer/worktrees/manager-database-1773/api/chat.py:1801: DeprecationWarning:
on_event is deprecated, use lifespan event handlers instead.

Read more about it in the
[FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/).

@app.on_event("shutdown")

api/chat.py:1808
/Users/teacher/.codex/automations/sync-dependency-pr-closer/worktrees/manager-database-1773/api/chat.py:1808: DeprecationWarning:
on_event is deprecated, use lifespan event handlers instead.

Read more about it in the
[FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/).

@app.on_event("shutdown")

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
1 passed, 9 warnings in 0.19s
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"repository": "stranske/Manager-Database",
"head": "adafa19c393197ea2ea8ad9c540200063b1edbd6",
"path": "pyproject.toml",
"git_blob": "26116b6e26930352f603f1131d1e75d3935653b7",
"sha256": "90a215cb26ba3a90a88e88c6684678ba4ab5897b666cf7935eebc385e8cff2e3",
"bytes": 4245
}
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Loading
Loading