Skip to content

Final submission: organized deliverables + optional LLM extraction - #74

Merged
dzx0902 merged 33 commits into
mainfrom
dev
Jun 15, 2026
Merged

Final submission: organized deliverables + optional LLM extraction#74
dzx0902 merged 33 commits into
mainfrom
dev

Conversation

@hopecommon

Copy link
Copy Markdown
Collaborator

概述

将 dev 上的全部最终交付内容合并到 main,作为正式提交态。

包含的工作

  • 王星睿 (Cofstars) 新增 optional LLM 候选抽取流水线(后端 service/API/CLI + 前端 source UI + 测试 + 功能文档)
  • 最终材料整理(本次收尾):
    • gap* 中途追踪命名 → 干净交付物命名(research-landscape / innovation-analysis / contribution-ledger / contribution-audit-* / source-sql-appendix / final-defense slides)
    • 内部 planning/roadmap/audit 文档归入 docs/process/
    • 新增 docs/README.md 材料导览(对照作业七项要求),README 文档段改为项目介绍视角
    • llm_analysis.py 补注释/docstring
    • 重新生成 final-report.pdf(26 页)与 final-defense.pdf(17 页,含四位成员)

对照作业要求(全部满足)

需求分析 / 概念(ER) / 逻辑 / 物理设计 · 系统演示截图 · 流程图+注释源程序(SQL+高级语言) · 分工与个人任务说明 —— 均有对应材料,详见 docs/README.md

合并安全性

已实测 git merge-tree origin/main dev 无冲突,且合并结果树 == dev 树(main 仅多出 4 个历史 PR-merge 节点,无独有内容)。

dzx0902 and others added 30 commits June 6, 2026 22:59
Per CS3321 final-deliverables roundtable convergence, sweep all gradable
artifacts to remove drift between completed materials and the merged
codebase. No code changes; this commit edits and annotates existing
material so it can be reused unchanged in the final report.

Document fixes:
- docs/07: full rewrite against current backend/app/api + services +
  frontend/src/pages + CLI + evaluation framework + Neo4j optional.
- docs/03: enum sweep — memory_type 12 values, status 7 values; add
  embedding caches; expand MemoryItem/Wiki/Forget/AuditLog rows.
- docs/02: source-import audit claim corrected to imported_at /
  imported_by_user_id; recall DFD expanded to hybrid + retrieval_info.
- docs/06: v_agent_visible_memory description requires caller-side
  WHERE agent_id; SQLite reclassified as design-only.
- docs/normalization §1.4: trg_memory_before_update increments,
  trg_memory_after_update writes revision/audit.
- docs/00: title broadened to organization/team memory database;
  P0/P1/P2 -> delivered-core / delivered-extension / future.
- docs/01: admin role rewritten; Entity/Scene/Forget reclassified P1;
  Graph/Embedding/CLI/Eval/QA added.
- docs/04: ER adds WorkspaceMember, MemoryEmbedding,
  SourceChunkEmbedding; conflict edges split left/right.
- docs/05/08/09/10/11: edits per gap 9 review findings; docs/10
  rebuilt as coverage matrix against actual backend/tests/test_*.py.
- docs/index-rationale: 8 categories -> 9.
- docs/explain-analyze: all four cases re-run on fresh demo DB
  (memory_item=25, audit_log=39, source_chunk=20, wiki_page=3); §3.2
  re-classified as B-tree competing path; §3.3 BRIN path confirmed.

SQL annotation pass (teacher requirement "具有注释的源程序"):
- database/01_schema_core.sql, 02_schema_memory.sql,
  03_schema_governance.sql, 05_views.sql, 06_triggers.sql each gain
  business-meaning comments above CREATE TABLE / VIEW / TRIGGER blocks.

SQL fixes:
- database/08_demo_queries.sql query #5: replace stale app.agent_id
  set_config with explicit WHERE agent_id and explanatory comment.
- database/10_governance_demo_fixture.sql: drop stale "(如有)" hedge
  now that the walkthrough doc exists.

New supporting documents:
- docs/gap9-audit-findings.md: codex audit (26 files reviewed).
- docs/gap9-audit-review.md: claude review approving findings.
- docs/governance-demo-walkthrough.md: walkthrough for the governance
  fixture (db:setup, verification SQL, extraction audit note).

Validation:
- pytest backend/tests: 166 passed
- ruff check backend/app backend/tests evaluation: pass
- cd frontend && npm run lint && npm run build: pass
- npm run db:setup: pass; governance fixture counts and 3 wiki pages
  verified
Six diagrams under docs/final-assets/diagrams/ covering core ER, full
ER, business sequences, and the memory_item status state machine.
Mermaid sources (.mmd) are the source of truth; SVG outputs are
committed for direct PDF/PPT embedding.

- 01-er-core: 8-entity lifecycle ER with attribute boxes (workspace,
  source_document, source_chunk, memory_item, memory_evidence,
  memory_revision, wiki_page, audit_log) for report §3.
- 02-er-full: 25-entity full ER with all relationships (semantic,
  governance, runtime) for the E-R appendix.
- 03-source-to-wiki: end-to-end business sequence — import, chunk,
  rule-based candidate extraction, approve, revision, wiki export;
  trigger-driven current_revision_no and audit_log writes shown.
- 04-recall: recall path with v_agent_visible_memory permission
  filter, GIN lexical + optional JSONB vector retrieval, context
  pack assembly, recall_log with retrieval_info and fallback_reason.
- 05-governance: three governance flows — conflict, forget, revision
  — showing trigger paths and audit_log writes.
- 06-memory-status: stateDiagram-v2 (direction LR) for the 7-state
  memory_item.status lifecycle enforced by the CHECK constraint;
  labels kept short (service paths explained in report text).

README.md documents re-render instructions and a per-file map linking
each diagram to its target chapter in the final report.

Rendered with @mermaid-js/mermaid-cli 11.15.0, theme=neutral.
Rename conflict edges left_conflict/right_conflict -> left/right and
wiki edges projects_to/projects_to -> scene_page/memory_page so the
auto-layout has more room near MEMORY_ITEM. Diagram remains the full
25-entity ER; only edge labels changed.
Audit against backend/app/api, services, and database/01-06. Fixed
contract errors and added missing foreign-key edges.

- 05-governance: replace fictitious /api/governance/* paths with real
  /api/conflicts and /api/forget-requests; rename service methods to
  create_conflict / update_conflict / create_forget_request /
  update_forget_request; show real trigger flow
  (trg_conflict_after_insert / trg_conflict_after_update,
  fn_conflict_mark_memory_conflicted /
  fn_conflict_restore_memory_if_clear); use real audit action names
  (conflict.create, forget_request.update, etc.); add alt branch for
  "no remaining open conflicts" vs "still conflicted elsewhere".

- 03-source-to-wiki: candidate approve endpoint corrected to
  /api/memory-candidates/{id}/approve; evidence_role changed from
  "supporting" to "source" (matches CHECK enum); response types
  corrected; add wiki.revision.insert audit via
  trg_wiki_revision_after_insert and trg_memory_after_insert for
  candidates.

- 06-memory-status: remove illegal archived -> active restore (no
  service code supports it); rename conflicted -> superseded edge to
  "manual merge" (supersede is a separate editor action, not a
  conflict-trigger output).

- 04-recall: split permission filter into "agent_id provided" vs "no
  agent_id" branches (the latter falls back to access_level filter
  rather than v_agent_visible_memory); clarify lexical retrieval
  always runs even in vector/hybrid mode.

- 02-er-full: add 11 missing FK-backed edges (owner_user_id /
  owner_agent_id / created_from_doc_id / superseded_by_memory_id on
  memory_item; started_by_user_id on agent_session; reply_to_message_id
  on message; session_id and imported_by_user_id on source_document;
  memory_id and doc_id on timeline_entry; agent_id and user_id on
  recall_log; requester_user_id and reviewed_by_user_id on
  forget_request). File comment changed to "main persisted/logical
  relationships" rather than claiming exhaustive polymorphic coverage.

- README.md: refresh per-file descriptions to match corrected
  contracts.

Verification: API paths, service methods, trigger names, audit action
names, evidence_role enum, and FK targets all verified via grep
against backend/app and database/. All 5 modified .svg files
re-rendered with mermaid-cli 11.15.0; visual PNG check on 02/05/06
confirmed layout and content.
UI captures (21 PNG), SQL/EXPLAIN evidence (4 PNG + 4 SVG with full
text-wrapped output, no thumbnail clipping), pytest/Vite build (2 PNG + 2 SVG),
and raw command logs (6 .txt) for the final report and PPT.

The optional QA path is verified with a controlled DeepSeek configuration
(LLM_PROVIDER=deepseek, deepseek-v4-flash); no API key is stored in the repo.
README inventories every artifact with URL/action, what-it-proves, and where to
use it. Two-version captures (graph-explorer, runtime-hybrid-search) retain the
pre-click state alongside the loaded-data state.
The earlier gap4 commit silently dropped 6 raw .txt logs because the global
`logs/` ignore rule (intended for runtime app logs) matched them. README
references these files as the canonical source the SQL/test PNG screenshots are
rendered from; without them the reproducibility chain breaks.

Add a negation rule `!docs/final-assets/screenshots/logs/` so future
doc-evidence logs are tracked while runtime logs remain ignored.
Cross-branch commit audit of three identified members (hopecommon, dzx0902,
lywzc0419 = "huiyijian") plus a placeholder for the unidentified fourth member.
Each member has a raw commit TSV (sha/date/kind/branches/file_count/top_level/
subject) and a Chinese report-ready draft.

The recall/search path is collaborative and has an explicit boundary note:
hopecommon owns lexical search + recall context-pack formatter + CLI dogfood;
dzx0902 owns hybrid recall, embedding, QA, and structured context-pack metadata.
Graph hardening is attributed to hopecommon over lywzc0419's initial Neo4j
integration. Evaluation framework + LoCoMo Bench credit goes primarily to
dzx0902.

Cautions: 9 local-only commits not yet on origin/jflin; merge commits are
process not implementation evidence; GitHub issue state is not a reliable
completion source.
feat(evaluation): add resumable benchmark judging and temporal memory evaluation
Slides cover: project positioning, research landscape, core data link,
ER + normalization, 8 index types + EXPLAIN evidence, views/triggers,
system architecture, three demo flows (Source→Memory→Evidence, Recall +
Context Pack, Governance + Graph), test coverage, LongMemEval 500-case
results (35.2% / 58.4%, framed as engineering validation only), eight
innovation points, team contribution + future work.

Built from slides-weasy template via Chrome headless print-to-pdf
(280×158mm, 16:9). Humanizer pass removed AI-writing patterns (triadic
lists, "不是 X,是 Y" parallels, AI vocab). Codex review fixes applied:
source_chunk.search_text_zh field name, 25 core tables / 7 business
triggers clarification, p11 callout shortened, footer-mark removed to
avoid overlap with callouts.
docs: final report, defense slides and per-gap deliverables (gap 1-9)
- rename gap-prefixed deliverables to clean names (research-landscape,
  innovation-analysis, contribution-ledger, contribution-audit-*,
  source-sql-appendix, final-defense slides)
- move internal planning/roadmap/audit docs into docs/process/
- add docs/README.md material guide; update README docs section
- update all cross-references; regenerate final-report.pdf and
  final-defense.pdf; make export script find Chrome on macOS/Linux
…esh ledger

- retitle deliverable docs to delivery-oriented headings (drop 'Gap N —')
- fix literal paths pointing to docs/ that moved into docs/process/
- refresh contribution-ledger baseline: HEAD b038e1b, Cofstars 5 commits
  now on origin/dev (was stale '2 local commits'), regen Cofstars audit TSV
- drop 'Gap 4 evidence' watermark text from source SQL/test SVGs
- rename 'P0 MVP' section to 功能模块 with the complete delivered feature set
  (governance, agent visibility, graph explorer, CLI, evaluation, etc.)
- surface optional LLM extraction/QA and hybrid recall in 技术栈
@dzx0902
dzx0902 merged commit 16b410b into main Jun 15, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants