Repository navigation
feat: expose structured arXiv digest freshness #111
Description
Structured arXiv digest freshness in the cockpit
Type: feature
Target: PyAutoMemory
Difficulty: medium
Autonomy: supervised
Priority: high
Status: draft
@PyAutoMemory only; follow-up to #109 / PR #110 and Brain #434.
Original user request (verbatim)
ok then go
Approved scope
Apply the shared structured state/action contract to arXiv digest freshness, distinguishing stalled delivery from overdue human catch-up. Include evidence, last recorded run date and next action. A successful quiet day remains healthy. User “ok then go” approves this increment; no agent, automatic retries or paper ingestion.
Plan
- Reuse the two digest stamps and existing two-weekday rule; return healthy/stale/unknown for each digest without equating empty lists with failed runs.
- Publish both records with provenance and explicit actions, and enrich cockpit attention rows.
- Keep the Memory board's freshness wording consistent, including unknown/malformed/future dates, while retaining its browser-side ageing of static pages.
- Test quiet days, weekday/weekend boundaries, independent digests, invalid/missing evidence and shared feed compatibility; browser-smoke both surfaces.
Implementation details
scripts/board.py: extend_inbox_freshnessas the shared pure model while preserving stamp/weekdays/stale keys. Parse source dates and snapshot time honestly; malformed/future dates are unknown. Add stable id, canonical state, threshold_weekdays, checked_at, reason, date evidence link and workflow link. Stamp means last recorded filing/heartbeat, not proof of the whole workflow's success or an invented run ID.to_state: expose both models underdigestseven when healthy; stale/unknown attention rows use v1 state/reason/id/actions/recommended_action_id. Known healthy empty lists create no attention warning. Use snapshot owner for GitHub links to the existing Mind arxiv_papers.yml/arxiv_interests.yml workflow and Memory arxiv-inbox.md/arxiv-interests.md date stamp.- Actions: read-only Inspect workflow link, stamp evidence link, existing
/bugmanual investigation prompt with requires_approval semantics. Never dispatch/rerun or post to Slack. Missing owner means no invented URL. - HTML/Markdown freshness: unknown text instead of false successful-empty claims; valid date browser ageing retains the owner threshold. Action prompts independent of rendering. No new shared schema or website edits needed.
tests/test_board.py: timestamps, weekday boundaries, scopes, empty healthy case, action/evidence links, renderer parity and feed validation. Update README documentation. Runmake test,make validate, shared Brain validator and browser checks.
Branch survey: Memory clean main at dc9c3b5; no active Memory claims. Worktree feature/memory-digest-state created from origin/main. Mind isolated codex/memory-digest-state. Approval is the user's current “ok then go”; no new scope/merge authority inferred.
Activity
Jammy2211 commentedon Oct 1, 2026
Memory #111 — implementation complete locally (feature/memory-digest-state).
Source remains uncommitted and unpushed pending a live override specific to #111. Previous overrides for #434 and #109 do not transfer. PR body and patch saved alongside this report.
Jammy2211 commentedon Oct 1, 2026
Human-authorized development shipping — #111
Heart readiness
Live user authorization: “I authorize”, in direct response to the request to ship Memory #111 despite Heart RED. This permits commit, push and opening this pending-release PR only; merge and release are not authorized. Current RED:
release validation FAILED (stage integrate).Other reported reasons:
workspace validation not passing (0 failed, 1 timeout, cloud#36404726969: autolens_test scripts/multi_dataset/rectangular.py)manifest drift: public front-door organ tables (generated) — 1 mismatch(es) vs PyAutoMind/repos.yamlThis branch does not claim to repair Heart or bypass CI. Branch gates passed as listed above. Heart verdict timestamp: 2026-10-01T10:39:00.775996+00:00.
Passed: 272 tests; make validate; shared v1 feed validation; Chromium mobile/desktop light/dark, state/actions/clipboard; in-session diff and visual review. No independent review claimed.
Jammy2211 commentedon Oct 1, 2026
PR ready: #112 (ac22777), labelled pending-release. Human Heart RED override recorded in issue, PR body and Mind records. 272 tests, make validate, shared feed validation and Chromium checks passed. Awaiting green CI and a separate human merge command.
Jammy2211 commentedon Oct 1, 2026
Structured arXiv digest freshness
Merged 2026-10-01: #112
Issue: #111
Source: ac22777; merge: 1e89ddd.
Independent lensing and interests digest records now expose healthy/stale/unknown state, last recorded date, observation time, weekday threshold, explanation, evidence links and explicit safety-labelled investigation actions. The board and cockpit share these observations. Quiet days stay healthy; malformed/future/missing evidence remains unknown. Digest delivery stays distinct from human lensing catch-up. No agent, notification service or automatic remediation was added.
Validation: 272 local tests; make validate; shared Brain v1 feed validator; Chromium mobile/desktop light/dark, three states, workflow/stamp links and clipboard; in-session diff/visual review. Exact-head CI run 36850871389 and every validate step passed; PR was CLEAN/MERGEABLE. No upstream library dependency or release obligation.
Human “I authorize” permitted development shipping despite Heart RED
release validation FAILED (stage integrate); subsequent$prmauthorized merge and close-out. Heart remains RED; no release authorized.Evidence retained in organs/PyAutoMind/tmp/memory-digest-state-evidence/. No follow-up required within the approved scope. Dates represent recorded digest heartbeats, not full workflow success or invented run IDs.