Commit Graph
294 Commits
Author SHA1 Message Date
Jim Lancaster d5e798825d Implement Rec - Phase 1
Quality Gate / gate (push) Successful in 2m31s
2026-09-02 15:59:56 -05:00
Jim Lancaster 02dca888d2 Code-review complete
Quality Gate / gate (push) Failing after 14s
2026-09-02 15:47:53 -05:00
Jim Lancaster a896a11d2e Update instructions - final
Quality Gate / gate (push) Successful in 2m32s
2026-09-02 14:54:37 -05:00
Jim Lancaster 0b48c80d87 Update instructions - Part 2, phase 3
Quality Gate / gate (push) Successful in 2m34s
2026-09-02 14:42:20 -05:00
Jim Lancaster 70f8d6182e Update instructions - part 2, phase 2
Quality Gate / gate (push) Successful in 2m33s
2026-09-02 14:36:45 -05:00
Jim Lancaster fc4288ff88 Update instructions - part 2
Quality Gate / gate (push) Successful in 2m34s
2026-09-02 14:31:40 -05:00
Jim Lancaster e5ef4d4422 Update instructions, agents, skills - part 1
Quality Gate / gate (push) Successful in 2m41s
2026-09-02 14:05:41 -05:00
Jim Lancaster 88cef169c4 V6.1 update roadmap_plan.md
Quality Gate / gate (push) Successful in 2m35s
2026-09-02 13:42:15 -05:00
Jim Lancaster 15a4814e23 V6.1 runtime settings ->.env.production fix
Quality Gate / gate (push) Successful in 2m29s
2026-09-02 12:31:04 -05:00
Jim Lancaster 16391463d6 V6.1 yet more backup/.env cleanup
Quality Gate / gate (push) Successful in 2m33s
2026-09-02 11:43:07 -05:00
Jim Lancaster 96bb80d91f V6.1 backups: once more into the breach.
Quality Gate / gate (push) Successful in 2m29s
2026-09-02 10:59:28 -05:00
Jim Lancaster 494f378e48 V6.1 continue beating on the backup
Quality Gate / gate (push) Failing after 2m34s
2026-09-02 10:04:38 -05:00
Jim Lancaster 75dc946123 V6.1 continue refining backup: switch to Synology Drive Client for remote backup
Quality Gate / gate (push) Failing after 1m10s
2026-09-01 18:47:03 -05:00
Jim Lancaster 929f8d6de9 V6.1 Fix backup script
Quality Gate / gate (push) Failing after 2m30s
2026-09-01 16:08:25 -05:00
Jim Lancaster 72909c1fd5 V6.1 Another dockerfile fix
Quality Gate / gate (push) Failing after 1m1s
2026-09-01 15:59:40 -05:00
Jim Lancaster a5ec9f40a8 V6.1 dockerfile fix.
Quality Gate / gate (push) Failing after 1m0s
2026-09-01 15:36:34 -05:00
Jim Lancaster 0d5206fe97 V6.1 update database for maintenance runs
Quality Gate / gate (push) Failing after 2m29s
2026-09-01 13:51:38 -05:00
Jim Lancaster 32b6b5f29a V6.1 refinements - add link to source image gallery on Document detail page. Fix Maintenance tab actions (again).
Quality Gate / gate (push) Failing after 2m30s
2026-09-01 13:32:46 -05:00
Jim Lancaster 9b6bb9ae66 V6.1 more fixes
Quality Gate / gate (push) Failing after 2m35s
2026-09-01 12:36:59 -05:00
Jim Lancaster 4c877dd6a2 V6.1 fixes
Quality Gate / gate (push) Failing after 2m59s
2026-09-01 11:54:34 -05:00
Jim Lancaster 9990583345 V6.1 UI refinements, add Maintenance jobs to Settings
Quality Gate / gate (push) Failing after 2m57s
2026-08-31 11:31:25 -05:00
Jim Lancaster daa1642933 Cloudflare-related tweak
Quality Gate / gate (push) Failing after 50s
2026-08-27 12:23:08 -05:00
Jim Lancaster d198cc0c68 Separate CLoudflare from transcribe
Quality Gate / gate (push) Failing after 49s
2026-08-27 10:19:34 -05:00
Jim LancasterandCopilot App 34c7b16675 Refine Synology backup workflow
Quality Gate / gate (push) Failing after 47s
Co-authored-by: Copilot App <[email protected]>
2026-08-26 17:32:20 -05:00
Jim Lancaster ca29bc8b74 Continued work on backup script, methodology
Quality Gate / gate (push) Failing after 48s
2026-08-26 14:26:15 -05:00
Jim Lancaster 89ed83239e Update backup script to include everything needed to do a bare metal restore of the new V6 server
Quality Gate / gate (push) Failing after 49s
2026-08-26 12:21:40 -05:00
Jim Lancaster 2c6ef46f5f V6 complete
Quality Gate / gate (push) Failing after 50s
2026-08-26 12:04:43 -05:00
Jim Lancaster c2ed98c16d V6 Post migration cleanup
Quality Gate / gate (push) Failing after 50s
2026-08-26 11:08:10 -05:00
Jim Lancaster c85cc6be20 V6 Phase 4 - Postgres backup to Synology
Quality Gate / gate (push) Failing after 49s
2026-08-25 13:09:14 -05:00
Jim Lancaster 234476ba6d V6.0 Phase 3 - Add cloudflare tunnel. Remote access to app via the tunnel now working.
Quality Gate / gate (push) Failing after 49s
2026-08-25 13:05:47 -05:00
Jim Lancaster faa30fd27b V6 Phase 2 complete
Quality Gate / gate (push) Failing after 50s
2026-08-25 11:44:59 -05:00
Jim Lancaster 867cc9eb78 V6 Phase 1 complete
Quality Gate / gate (push) Failing after 49s
2026-08-25 10:38:45 -05:00
Jim Lancaster 0e43094b80 Refine Settings page
Quality Gate / gate (push) Failing after 49s
2026-08-24 17:16:40 -05:00
Jim Lancaster c05c054b94 Refine Settings page
Quality Gate / gate (push) Failing after 47s
2026-08-24 17:08:09 -05:00
Jim Lancaster c0112c2714 Add ability to edit safe .env.example options to Settings
Quality Gate / gate (push) Failing after 47s
2026-08-24 16:14:49 -05:00
Jim Lancaster 96af7b2dc0 Minor UI refinement
Quality Gate / gate (push) Failing after 49s
2026-08-24 12:58:34 -05:00
Jim Lancaster 9a7970c533 UI refinement: Back buttons
Quality Gate / gate (push) Failing after 49s
2026-08-24 12:44:02 -05:00
Jim LancasterandCopilot App f15c9834e4 Remove completed remediation handoff and mark the review closed
Quality Gate / gate (push) Failing after 47s
The handoff brief was a work order for phases 2-5. That work is done, so the
document now describes a future that already happened and would misdirect
anyone who found it.

The review report itself had the same problem in weaker form: its findings read
as open. Adds a status banner marking it closed and retained for reasoning only.

The banner also records that two of its recommendations were wrong on contact.
The HIGH-03 fix as written would have stripped root-cause data from
ExecutionAttempt provenance, and the HIGH-01 fix had to preserve per-page
durability the report never mentioned. Leaving that unstated invites someone to
'restore' the report's version later.

Co-authored-by: Copilot App <[email protected]>
2026-08-23 19:25:39 -05:00
Jim LancasterandCopilot App 2c59cbd2c7 Add AGENTS.md to make repo context auto-discoverable
Nothing in this repo was auto-read by an agent at the start of a session.
The .github/instructions files only attach once a matching file is edited,
which is too late to steer strategy, and the canonical docs set is not
discoverable without already knowing to look for it.

AGENTS.md routes rather than duplicates: it states the authority order
(docs/* first, docs/reviews/** explicitly non-canonical), the uv-only
command set, the test-enforced boundaries, and the change protocol.

The Traps section records failure modes this codebase has actually produced
rather than generic advice: the message/detail split that leaked paths in one
direction and degraded provenance in the other, the two competing atomicity
invariants in workflows.py where the obvious simplification breaks multi-page
durability, and the habit of changing a shared symbol without enumerating its
consumers.

Verified: cited test paths exist, full suite passes, ruff/ty clean.

Co-authored-by: Copilot App <[email protected]>
2026-08-23 19:23:26 -05:00
Jim LancasterandCopilot App 5ff66a8c40 Align python-reviewer agent with the python-code-reviewer skill
The agent file had drifted from the skill it delegates to, in two ways that
would corrupt a review run.

Report target: the agent said write reports to ./docs, but the skill targets
./docs/reviews/<date>-code-review.md and explicitly marks docs/reviews/** as
non-canonical. Following the agent would place a dated, opinionated review
inside the canonical authority set that findings are supposed to resolve
against.

Verification commands: the agent said run 'ruff check', 'pytest', and 'ty'.
None are on PATH in this uv project, so an agent following its own instruction
gets command-not-found and is pushed toward guessing instead of verifying.

The agent now defers to the skill for all specifics rather than restating them,
which is what let the two copies drift apart. Also carries forward the
consumer-tracing rule and states the read-only scope explicitly.

Co-authored-by: Copilot App <[email protected]>
2026-08-23 19:17:33 -05:00
Jim LancasterandCopilot App 626b5d4b10 Harden python-code-reviewer skill with lessons from executing its own review
Three gaps surfaced by implementing the 2026-08-23 review's recommendations.

1. Recommendations were never verified the way claims were. The report's fix for
   the error path leak would have stripped root-cause data from evidence records,
   because the review traced one consumer of AppError.message and missed that
   format_error_detail writes it to ExecutionAttempt.error_detail. Adds workflow
   step 9 (validate recommendations against consumers), a Blast Radius field on
   findings, and the worked example so the failure mode is concrete.

2. Fixes that sit between competing invariants were not flagged. The atomicity
   recommendation did not note that per-page durability and terminal-status
   atomicity pull in opposite directions, so the obvious simplification silently
   breaks multi-page durability. Recommendations must now name both invariants,
   the test guarding each, and the over-correction to avoid.

3. Severity could not express reachability. Two findings were latent behind a
   default setting and a single-instance deployment, which is a sequencing
   constraint: they must be fixed before the change that makes them live. Adds an
   explicit Reachability field with Live / Latent / Theoretical.

Verified: meta contract guards and traceability tests pass.

Co-authored-by: Copilot App <[email protected]>
2026-08-23 19:14:35 -05:00
Jim LancasterandCopilot App 12f125761a test: invert UI boundary guard to allowlist
Quality Gate / gate (push) Failing after 47s
Co-authored-by: Copilot App <[email protected]>
2026-08-23 18:57:13 -05:00
Jim LancasterandCopilot App 803237371e fix: log omitted OpenRouter request manifests
Co-authored-by: Copilot App <[email protected]>
2026-08-23 18:55:33 -05:00
Jim LancasterandCopilot App d4ae97c1b1 chore: remove uncertain orphaned definitions
Co-authored-by: Copilot App <[email protected]>
2026-08-23 18:53:54 -05:00
Jim LancasterandCopilot App c52d41ec33 test: extend orphan sweep to public class methods
Co-authored-by: Copilot App <[email protected]>
2026-08-23 18:52:06 -05:00
Jim LancasterandCopilot App 6c3eac0a44 test: prune low-signal assertions and tighten guards
Quality Gate / gate (push) Failing after 47s
Co-authored-by: Copilot App <[email protected]>
2026-08-23 18:48:16 -05:00
Jim LancasterandCopilot App e5410708e4 refactor: extract blocking and sequence retry helpers
Co-authored-by: Copilot App <[email protected]>
2026-08-23 18:46:19 -05:00
Jim LancasterandCopilot App efbae26f16 refactor: route workflow sessions through unit of work
Co-authored-by: Copilot App <[email protected]>
2026-08-23 18:43:07 -05:00
Jim LancasterandCopilot App 3873810022 perf: move blocking homepage and hash I/O off loop
Quality Gate / gate (push) Failing after 47s
Co-authored-by: Copilot App <[email protected]>
2026-08-23 18:41:01 -05:00
Jim LancasterandCopilot App 2093eb6fb3 fix: retry execution attempt number conflicts
Co-authored-by: Copilot App <[email protected]>
2026-08-23 18:35:59 -05:00