Skip to content

feat(obsidian): add vault status dashboard#64

Open
Aidenwu0209 wants to merge 1 commit intoAIwork4me:mainfrom
Aidenwu0209:wu/issue62-obsidian-review-workflow
Open

feat(obsidian): add vault status dashboard#64
Aidenwu0209 wants to merge 1 commit intoAIwork4me:mainfrom
Aidenwu0209:wu/issue62-obsidian-review-workflow

Conversation

@Aidenwu0209
Copy link
Copy Markdown
Contributor

Summary

This PR fixes one issue: Obsidian-enabled vaults now get a generated status dashboard and reusable Agent workflow entrypoints.

Closes #62.

Layer

  • docs
  • skill
  • adapter
  • runtime
  • schema
  • safety
  • eval
  • ux
  • human-review
  • release

Severity

  • P0
  • P1
  • P2
  • P3

DeepSeek full-flow context

  • Workspace: /Users/wu/Desktop/wu/AAaabaidu/LLM-Wiki
  • Run ID: 20260506-143821-issue62-optimization
  • Run dir: /Users/wu/Desktop/wu/AAaabaidu/LLM-Wiki /runs/20260506-143821-issue62-optimization
  • Vault dir: N/A - issue #62 Obsidian workflow optimization did not require a DeepSeek full-flow vault
  • Paper dir: /Users/wu/Desktop/wu/AAaabaidu/LLM-Wiki /deepseek_paper
  • Repository commit before fix: 683ccbcaba68bef9e5d6ac38996206a0ba887860

Product UX evidence, if applicable

  • Obsidian first-open screenshot: N/A
  • Obsidian before screenshot: N/A
  • Obsidian after screenshot: N/A
  • Obsidian UX report: N/A
  • Query/writeback transcript or report: N/A
  • Was explicit writeback approval obtained: not applicable

Do not commit screenshots containing private or sensitive content unless the user explicitly approves. If screenshots are local-only evidence, include their local paths and a concise description in the PR body.

Problem

wiki_init.py --obsidian configured Obsidian settings and inbox/sort resources, but the generated vault still lacked a first-screen status dashboard, clear Agent command entrypoints, reusable prompt templates, and a Homepage target that surfaces review/writeback safety boundaries.

Minimal reproduction

uv run python scripts/wiki_init.py <new-vault> --repo-root . --obsidian --obsidian-skip-downloads
find <new-vault> -maxdepth 3 -name '_dashboard.md' -o -path '*/templates/agent-prompts/*'

Observed:

No generated dashboard or Agent prompt templates were created.
Homepage default pointed at index instead of a status dashboard.

Expected:

An Obsidian-enabled vault should expose a generated dashboard/status page, prompt templates, common runtime commands, and proposal-first writeback guidance without overwriting user-edited dashboard files.

Root cause

The optional Obsidian setup layer only handled Obsidian settings/plugins/profile resources. There was no runtime command for vault status/dashboard generation, and wiki_init.py --obsidian had no scaffold for Agent context files or prompt templates beyond the generic source/concept templates.

Fix

Added scripts/wiki_status.py to summarize vault health and optionally write _dashboard.md; wired wiki_init.py --obsidian to create _dashboard.md, AGENTS.md, CLAUDE.md, and templates/agent-prompts/; changed Homepage defaults to _dashboard; added docs, checklist, CI, quality checks, and runtime eval coverage.

Changed files:

  • scripts/wiki_status.py - new dashboard/status generator with protected output boundaries.
  • scripts/wiki_init.py - copies the status runtime and writes Obsidian dashboard/context files without overwriting existing dashboard unless --force.
  • scripts/wiki_obsidian_setup.py - points Homepage at _dashboard and writes plugin data even when downloads are skipped.
  • templates/agent-prompts/* - reusable Agent workflows for ingest, query, writeback, lint, review, concept revision, and graph export.
  • scripts/check_quality.py, scripts/wiki_eval.py, .github/workflows/validate.yml - smoke tests and CI coverage.
  • Docs/checklist/schema/sortspec files - document and surface the new workflow.

Before / after

Before:

Obsidian profile created settings and inbox/sort files, but users still had to infer workflow state and safe Agent actions from docs/scripts.

After:

Fresh Obsidian-enabled vaults open to `_dashboard.md`, show pipeline status/review queues/recent reports/common commands/prompt templates, and preserve proposal-first writeback and review gates.

Validation

Commands run:

python3 -m py_compile scripts/wiki_status.py scripts/wiki_init.py scripts/wiki_obsidian_setup.py scripts/check_quality.py scripts/wiki_eval.py scripts/wiki_lint.py
python3 scripts/wiki_status.py --help
python3 scripts/wiki_status.py examples/minimal-vault
python3 scripts/wiki_init.py "$RUN_DIR/status-smoke-vault" --repo-root "$REPO_DIR" --obsidian --obsidian-skip-downloads
python3 scripts/wiki_lint.py "$RUN_DIR/status-smoke-vault" --obsidian --fail-on p1
python3 scripts/wiki_status.py "$RUN_DIR/status-smoke-vault" --write-dashboard
python3 scripts/wiki_status.py "$RUN_DIR/status-smoke-vault" --write-dashboard --force
python3 scripts/wiki_status.py "$RUN_DIR/status-smoke-vault" --write-dashboard --output "$RUN_DIR/outside.md"
python3 scripts/wiki_status.py "$RUN_DIR/status-smoke-vault" --write-dashboard --output sources/status.md
uv sync --dev --locked
uv run python scripts/check_quality.py
uv run python scripts/wiki_lint.py examples/minimal-vault --fail-on p1
uv run python scripts/wiki_status.py examples/minimal-vault
uv run python scripts/wiki_eval.py
bash -n setup.sh
git diff --check
uv run python -m skills_ref.cli validate skills/wiki-ingest
uv run python -m skills_ref.cli validate skills/query-writeback
uv run python -m skills_ref.cli validate skills/wiki-lint

Results:

All required checks passed.
Expected refusal: existing dashboard is not overwritten without --force.
Expected refusal: dashboard output outside the vault is rejected.
Expected refusal: dashboard output under sources/ is rejected.

Safety review

  • No project output was written outside LLM-Wiki.
  • deepseek_paper/ was not modified.
  • raw/ evidence was not modified after ingest/copy.
  • No human/science review approval was fabricated.
  • No writeback approval gate was bypassed.
  • No cloud/API path was used without explicit approval.
  • This PR fixes one issue only.

Out-of-scope findings

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.

增强 Obsidian + Claude 工作体验:命令入口、上下文面板、任务流与安全写入

1 participant