Self-healing agent (supervisor, recovery, login fixes, operator mail) and Portal sage redesign

Snapshot of D:\Ecw Process a11c9ff (2026-10-30).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ManikandanandClaude Opus 5.5 committed 2026-10-30 10:58:35 +05:30
1 parent fafa5285eb
commit d500f750da
26 files changed
+1704 -357

No files matched your search

+31 -3
View File
@@ -283,6 +283,33 @@ def the_dashboard_lists_todays_top_fail_and_review_reasons():
assert "No Fail or Review today" in html
@case
def the_dashboard_lists_todays_runs_newest_first():
"""Operator, 2026-10-30 (the approved mockup): a Runs today card —
each run's start, its mode and its claims by result, from the same
rows the reasons card reads, so no second query."""
today = datetime.combine(date.today(), datetime.min.time())
first, second = today + timedelta(hours=16, minutes=39), \
today + timedelta(hours=17, minutes=18)
rows = ([_row("9000001", "Pass", 1, first),
_row("9000002", "Fail", 2, first)]
+ [_row(f"900001{i}", "Pass", i, second) for i in range(3)])
client, repo = _client(FakeRepo(days=[_day(date.today(), 5, 2, 4, 1, 0)],
rows=rows))
html = client.get("/").text
box = html.split('id="runs-today"', 1)[1].split("</section>", 1)[0]
assert box.index("5:18 PM") < box.index("4:39 PM"), box
assert "<b>3</b> claims" in box and "<b>2</b> claims" in box, box
assert repo.calls == [("days",), ("day_results", date.today())], \
repo.calls
@case
def the_dashboard_greets_the_signed_in_user():
html = _client()[0].get("/").text
assert re.search(r"Good (morning|afternoon|evening), ", html), html[:400]
@case
def every_page_has_the_footer_and_marks_where_you_are():
client, _ = _client()
@@ -440,14 +467,15 @@ def find_a_claim_with_no_number_shows_the_box_only():
# ── every page ───────────────────────────────────────────────────────────────
@case
def every_page_has_the_navy_header_breadcrumb_and_mode():
def every_page_has_the_side_menu_breadcrumb_and_mode():
client, _ = _client()
for path in _PAGES:
html = client.get(path).text
assert '<header class="top">' in html, path
# Sage side menu since 2026-10-30 (the approved mockup).
assert '<aside class="side">' in html, path
assert 'class="pill VERIFY"' in html, path
assert '<nav class="crumbs">' in html, path
assert "--navy: #12355b" in html, path
assert "--navy: #2e3f36" in html, path
html = client.get("/day/2026-10-16").text
assert '<a href="/days">Claim status</a>' in html
assert '<span class="here">Fri, 16 Oct 2026</span>' in html