Commit graph

33 commits

Author SHA1 Message Date
LLLin000
34e306fd60 docs: record redesign issue queue 2026-07-20 02:32:11 +08:00
LLLin000
9a15f36485 docs: define control center UX redesign 2026-07-20 01:49:33 +08:00
LLLin000
b9f3ca1719 fix: repair stash merge artifacts in i18n.ts and memory.py
- i18n.ts: remove duplicate md_select_* keys from stash conflict
- memory.py: replace corrupted _restore_backup/run merge with clean copy
2026-07-19 14:14:41 +08:00
LLLin000
b4c0404542 feat: deliver actionable Maintenance inbox and privacy-safe issue drafts (#80)
Maintenance derives worst-constituent severity from Installation/
Library/OCR/Memory/Help with no independent probe/action. Items
route to constituent module actions; re-probe removes resolved
items. Accessible destructive confirmation (Tab trap, Escape,
inert bg, focus restore) plus editable locally redacted OCR
issue drafts with explicit GitHub open and no token storage.

Backend: probe_maintenance aggregation, quality_unacceptable
detection with scope_count, 78/78 gate.

Frontend: Maintenance tab, inbox rendering, PaperForgeConfirmModal,
PaperForgeIssueDraftModal with double-redaction, excluded-category
preview, _REAL_PROBE + strict envelope validation, container-query
responsive at 730/768px.

Verified: 78/78 backend, 384/385 plugin (1 known baseline),
typecheck clean, 264.9KB build, Obsidian 1.12.7 smoke.
2026-07-19 14:09:54 +08:00
LLLin000
c23d6b9a7f Merge branch 'feat/issue-78-capability-tracers' into feat/issue-80-maintenance
# Conflicts:
#	PROJECT-MANAGEMENT.md
#	paperforge/plugin/main.js
#	project/current/ocr-v2-active-queue.md
2026-07-19 10:26:47 +08:00
LLLin000
6bed0d7151 feat: migrate plugin credentials to SecretStorage (#79) 2026-07-19 01:00:41 +08:00
LLLin000
69a6223910 feat: expose library OCR and memory capability tracers (#78) 2026-07-18 18:13:08 +08:00
LLLin000
85a7ae30a2 feat: add OCR rebuild UX and capability tracer 2026-07-15 20:36:15 +08:00
LLLin000
e56a5faf44 docs: record control-center PRD and setup migration 2026-07-15 02:30:05 +08:00
LLLin000
b97e82ab7c docs: close #71/#72 prototypes, set #73 as active frontier
Record the completed six-module control-center and maintenance-inbox
prototype wave. Both prototype pairs passed independent Critical/Important
PASS review and direct browser verification at 768px without production
code changes. Update executive summary, active queue, decision log,
session timeline, and milestone checkpoint.

- #71 resolved: six-module control-center HTML prototype
  (5 scenarios x 6 modules, plain-button switcher, responsive 768px)
- #72 resolved: actionable-only maintenance inbox prototype
  (single-action rows, inline issue-draft, confirmation-first report)
- #73 promoted to active frontier: integrate accepted model into
  production control-center plugin
2026-07-15 00:41:28 +08:00
LLLin000
d7b0a52780 closeout: record #69/#70 resolution, capability model, runtime architecture, maintenance regression fixes
- Update PROJECT-MANAGEMENT.md for #69/#70 resolved, #71/#72 as live frontier
- Add orthogonal capability/activity/attention model and managed-runtime immutable-slot
  architecture decisions to decision log and timeline
- Record OCR maintenance regression: canonical per-row action routing (display_action->verb),
  redo confirmation gate, cache manifest preservation (19/19 tests pass)
- Add research reports: docs/research/2026-07-14-capability-state-action-contract.md,
  docs/research/2026-07-14-managed-runtime-architecture.md
- Update project/current/ocr-v2-active-queue.md with resolved items and new frontier
2026-07-15 00:03:16 +08:00
LLLin000
29a0e27077 docs: research control center recovery patterns 2026-07-14 23:08:26 +08:00
LLLin000
68f342ddf9 docs: audit control center contracts 2026-07-14 19:58:30 +08:00
LLLin000
92fe2b7847 docs: chart control center UX wayfinder 2026-07-14 19:04:20 +08:00
LLLin000
b7e80c84d6 docs: record OCR rebuild UX completion 2026-07-14 18:33:37 +08:00
LLLin000
3a0d171e31 docs: update PROJECT-MANAGEMENT and ocr-v2-active-queue with retrieval recovery Wayfinder checkpoint 2026-07-11 01:30:58 +08:00
LLLin000
077c190b60 docs: update project management for PR9A-C embedding pipeline work 2026-07-09 00:30:50 +08:00
LLLin000
f76396220d docs: mark Layer 2 done, update project docs
- Active queue: Layer 2 added to completed with commit reference
- PROJECT-MANAGEMENT: updated header, test counts, component table,
  Layer 3 replaced health hardening with done status, active queue
  reprioritized, key file map updated, 7 decision log entries added
- Session timeline entry pending (manual update)
2026-07-04 23:41:59 +08:00
LLLin000
26715a9d7e feat: layout-category truth audit complete
Workstream X: 11 papers audited across 6 layout classes,
5 verified via vision subagents. 6 real bug patterns identified
with code locations and root cause analysis.

Bug patterns:
A - _is_obviously_formal_figure_caption heuristic too aggressive
    (ocr_roles.py:193)
B - Cross-column figure asset mis-assignment ignores boundaries
    (ocr_figures.py:704)
C - Render frontmatter skip silently drops authors/affiliations
    (ocr_render.py)
D - Two-column same-page boundary body→backmatter zone pollution
    (ocr_document.py)
E - Frontmatter headings misclassified (ocr_roles.py)
F - Supplementary-only PDFs not handled

Full report: docs/superpowers/analysis/2026-07-05-layout-truth-audit-findings.md

Also: codebase-memory-mcp 0.8.1 installed and repo indexed.
2026-07-04 21:26:15 +08:00
LLLin000
6f479ae46d test: widen v3 parity to six replay fixtures
- add fixture-backed replay parity for 37LK5T97, 8CCATQE3, and 5MAW65YD
- keep existing DWQQK2YB, VAMSAZMG, and PJBMGVTF gates
- update OCR project status and queue to 105-test state
2026-07-04 19:15:26 +08:00
LLLin000
ae3b5ce07c test: expand v3 replay parity corpus
- add fixture-backed parity replay for VAMSAZMG and PJBMGVTF
- keep DWQQK2YB as existing replay gate
- sync post_match render/index defaults to legacy contract
- update OCR status docs to 102-test state
2026-07-04 19:11:31 +08:00
LLLin000
2a4cda9782 test: add DWQQK2YB v3 parity gate
- sync render/index defaults in post_match_normalize to match legacy
- add fixture-backed real-paper parity test for DWQQK2YB
- update OCR project status and active queue to 100-test state
2026-07-04 18:33:32 +08:00
LLLin000
268462c781 docs: sync OCR records after A/B/C merge 2026-07-04 18:00:38 +08:00
LLLin000
2e542dabd0 fix(ocr): unblock pairing framework merge 2026-07-03 22:50:15 +08:00
LLLin000
1791edd7cd docs: record round 2 truth audit + 3 bug fixes for 37LK5T97 2026-07-02 15:02:42 +08:00
LLLin000
5af3a1f8ca feat: asset-internal figure number recovery for rotated vector figures
adds a metadata-only recovery pass that scans matched figure assets for
internal PDF line labels ("Figure N.", "Fig. N:") when the figure lacks
a figure_number.

new components:
- extract_pdf_lines_normalized() in ocr_pdf_spans.py — reads PDF rawdict
  lines page-by-page, normalizes coordinates to OCR space
- _recover_missing_figure_numbers_from_assets() — inventory pass between
  synthetic fallback and dedup
- _needs_asset_internal_figure_number_recovery() — gate supporting both
  synthetic_figure and figure_unknown entries
- _looks_like_internal_figure_label() — regex-based label detection
- _asset_edge_band_score() — geometric rejection for center-positioned
  lines or lines covering >15% asset area
- page_pdf_lines_by_page parameter added to build_figure_inventory()

verification: U746UJ7G figure_unknown_000 -> figure_002 with recovered
label "Plot of Criteria Time". 428 regression tests pass (6 new).
2026-07-02 03:00:33 +08:00
LLLin000
d41712d7bc fix: normalize rotated figure captions before normal matching
- preserve PyMuPDF dir/wmode in span_metadata and bump span backfill version
- promote rotated vision_footnote figure descriptions into normal legend prematch
- normalize rotated caption/asset regions before score_figure_match
- carry rotation_correction_deg into matched figures and cropped renders
- use LANCZOS resampling on rotated figure crops to avoid aliasing
- keep synthetic fallback as last resort, reusing the same rotation metadata
2026-07-02 02:28:56 +08:00
LLLin000
03d2bcafdb docs: update project records for 3 audit fix commits
- Timeline: 3 new commits + Commit 3 pre-existing
- §9.18: mark execution complete
- Active queue: current priorities + cumulative completed list
2026-07-02 00:52:19 +08:00
LLLin000
2593690b91 docs: record truth audit session (10 papers + GPT review)
Add timeline entry + §9.18 archive for 10-paper audit.
Update active queue to reflect 4-commit GPT-reviewed fix plan.
2026-07-02 00:28:27 +08:00
LLLin000
03e2c795c4 docs: clean active queue priorities (remove done item, dedup) 2026-07-01 21:54:40 +08:00
LLLin000
6ee91fd79f docs: update project management for residual fixes session
Add 7 fix entries to §2.3, timeline entry to §8, update executive
summary and active queue for completed 6-issue fix series.
2026-07-01 21:53:21 +08:00
Research Assistant
7b0bb41a9c project: update for Gate 5 session — PM rules, archive, active queue
- PROJECT-MANAGEMENT.md: new project folder management rules (7.1),
  updated status, fix table, decision log, session timeline, active queue
- project/current/ocr-v2-active-queue.md: refreshed for Gate 5 completion
- project/archive/: moved 3 stale current/ files with archive headers
  (ocr-v2-closeout-priority.md, phase2-root-cause-analysis.md,
  ocr-error-root-cause-fix-queue.md)
2026-06-28 22:31:39 +08:00
Research Assistant
6826506b26 docs: add OCR active queue and freeze closeout queue 2026-06-19 23:23:22 +08:00