Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .beads/issues.jsonl
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,7 @@
{"id":"bd-an6z4","title":"Error-docs content authoring (umbrella): populate pages for the 133 current catalog entries","description":"Author /docs/errors/Q-X-Y.qmd pages for each entry in error_catalog.json. Open one sub-issue per subsystem when ready to work on it; closing a sub-issue requires all pages in that subsystem at status=stub or better.\n\nSubsystem sizes (133 total):\n- markdown: 36\n- yaml: 21\n- writer: 21\n- xml: 16\n- listing: 16\n- template: 7\n- navigation: 7\n- project: 3\n- theme: 2\n- internal: 2\n- lua: 1\n- cli: 1\n\nEach page is hand-authored; tooling (bd-tooling) generates stubs but does NOT generate prose. Per-page quality bar is in the foundation plan.\n\nPlan: claude-notes/plans/2026-05-22-error-docs-content.md","status":"closed","priority":3,"issue_type":"epic","created_at":"2026-05-22T17:09:37.728930Z","created_by":"cscheid","updated_at":"2026-05-24T21:16:46.562313Z","closed_at":"2026-05-24T21:16:46.561908Z","source_repo":".","compaction_level":0,"original_size":0,"labels":["content","documentation","error-reporting"],"dependencies":[{"issue_id":"bd-an6z4","depends_on_id":"bd-4ltdl","type":"blocks","created_at":"2026-05-24T21:07:57.094765Z","created_by":"cscheid","metadata":"{}","thread_id":""},{"issue_id":"bd-an6z4","depends_on_id":"bd-732bn","type":"blocks","created_at":"2026-05-24T21:07:57.904153Z","created_by":"cscheid","metadata":"{}","thread_id":""},{"issue_id":"bd-an6z4","depends_on_id":"bd-8k4ny","type":"blocks","created_at":"2026-05-24T21:07:57.632775Z","created_by":"cscheid","metadata":"{}","thread_id":""},{"issue_id":"bd-an6z4","depends_on_id":"bd-8zim0","type":"blocks","created_at":"2026-05-24T20:54:12.747207Z","created_by":"cscheid","metadata":"{}","thread_id":""},{"issue_id":"bd-an6z4","depends_on_id":"bd-94x8a","type":"parent-child","created_at":"2026-05-22T17:09:37.728930Z","created_by":"cscheid","metadata":"{}","thread_id":""},{"issue_id":"bd-an6z4","depends_on_id":"bd-bj5yp","type":"blocks","created_at":"2026-05-22T20:01:42.876087Z","created_by":"cscheid","metadata":"{}","thread_id":""},{"issue_id":"bd-an6z4","depends_on_id":"bd-c263g","type":"blocks","created_at":"2026-05-24T21:07:58.176873Z","created_by":"cscheid","metadata":"{}","thread_id":""},{"issue_id":"bd-an6z4","depends_on_id":"bd-gkqxl","type":"blocks","created_at":"2026-05-24T21:07:57.361666Z","created_by":"cscheid","metadata":"{}","thread_id":""},{"issue_id":"bd-an6z4","depends_on_id":"bd-lgxdr","type":"blocks","created_at":"2026-05-22T20:27:57.887826Z","created_by":"cscheid","metadata":"{}","thread_id":""},{"issue_id":"bd-an6z4","depends_on_id":"bd-nvlxn","type":"blocks","created_at":"2026-05-22T17:09:41.059965Z","created_by":"cscheid","metadata":"{}","thread_id":""},{"issue_id":"bd-an6z4","depends_on_id":"bd-oqbpi","type":"blocks","created_at":"2026-05-24T20:35:56.160185Z","created_by":"cscheid","metadata":"{}","thread_id":""},{"issue_id":"bd-an6z4","depends_on_id":"bd-s9emf","type":"blocks","created_at":"2026-05-24T21:07:56.828284Z","created_by":"cscheid","metadata":"{}","thread_id":""},{"issue_id":"bd-an6z4","depends_on_id":"bd-tep4x","type":"blocks","created_at":"2026-05-24T20:24:43.820419Z","created_by":"cscheid","metadata":"{}","thread_id":""},{"issue_id":"bd-an6z4","depends_on_id":"bd-uhmzq","type":"blocks","created_at":"2026-05-24T21:07:56.562544Z","created_by":"cscheid","metadata":"{}","thread_id":""}]}
{"id":"bd-anhg","title":"Cargo: upgrade comrak v0.50.0 → v0.52.0","description":"Major upgrade surfaced by cargo-upgrade survey 2026-05-04. Current 0.50.0 is range-pinned in workspace; latest is 0.52.0. Type: pre-1.0 minor (semver-breaking); two minor steps. Review changelog and bump deliberately. See claude-notes/plans/2026-05-04-cargo-upgrade-survey.md and bd-hb8h.","status":"closed","priority":3,"issue_type":"chore","created_at":"2026-05-04T18:15:54.717242Z","created_by":"cscheid","updated_at":"2026-05-04T20:30:45.398021Z","closed_at":"2026-05-04T20:30:45.397884Z","close_reason":"merged: 0a75e8e4","source_repo":".","compaction_level":0,"original_size":0,"labels":["cargo","deps"],"dependencies":[{"issue_id":"bd-anhg","depends_on_id":"bd-hb8h","type":"discovered-from","created_at":"2026-05-04T18:16:04.700823Z","created_by":"cscheid","metadata":"{}","thread_id":""}]}
{"id":"bd-anxz","title":"Upload dialog: editable filenames with whitespace sanitization","description":"Add ability to edit filenames in the upload dialog before uploading. Default names should replace all whitespace characters (tabs, newlines, non-breaking spaces, etc.) with hyphens so files are easily referenceable in markdown. Plan: claude-notes/plans/2026-02-13-upload-filename-editing.md","status":"in_progress","priority":2,"issue_type":"feature","created_at":"2026-02-13T21:52:18.638260Z","created_by":"cscheid","updated_at":"2026-02-13T21:57:42.099346Z","source_repo":".","compaction_level":0,"original_size":0}
{"id":"bd-apv23","title":"Import a project from a ZIP archive (hub-client)","description":"Add an 'Import from ZIP' action to the hub-client project selector that creates a NEW project from an uploaded .zip — the inverse of the existing 'Export to ZIP' (ts-packages/quarto-sync-client/src/export-zip.ts).\n\nDesign: parse ZIP (fflate unzipSync) into a file list in the shape createNewProject already accepts (base64 binary, plain-string text), then reuse the existing onProjectCreated path (App.handleProjectCreated -> createNewProject -> IDB + project set + navigate). No Automerge-layer changes needed.\n\nNew code:\n- ts-packages/quarto-sync-client/src/import-zip.ts (parseProjectZip, pure, mirrors export-zip.ts)\n- preview-runtime wrapper importProjectFromZip -> ProjectFile[]\n- ProjectSelector 'Import from ZIP' button + form (title default from filename, sync server, file picker)\n\nEdge cases: strip common top-level dir (GitHub zips), skip __MACOSX/.DS_Store/dirs, zip-slip guard, binary-vs-text via isBinaryExtension (+ optional UTF-8 sniff), empty/invalid zip errors, export->import round-trip fidelity.\n\nTDD: unit tests for parse (round-trip headline test), preview-runtime shape conversion test, ProjectSelector component test, Playwright e2e + manual browser verification. hub-client change -> npm run build:all + changelog two-commit workflow.\n\nPlan: claude-notes/plans/2026-06-01-import-from-zip.md","status":"closed","priority":2,"issue_type":"feature","created_at":"2026-06-01T21:54:21.009894Z","created_by":"cscheid","updated_at":"2026-06-02T11:31:37.056638Z","closed_at":"2026-06-02T11:31:37.056456Z","close_reason":"Implemented import-from-zip: parser + wrapper + UI + tests + e2e; verified end-to-end in real browser.","source_repo":".","compaction_level":0,"original_size":0,"labels":["hub-client"]}
{"id":"bd-apvo","title":"project.lib-dir: user-config override","description":"Phase 5 hardcodes WebsiteProjectType::lib_dir() = 'site_libs' as a String return. The trait signature is owned String specifically so the override can plumb through without API churn — the implementation just needs to read project.config.metadata['project.lib-dir'] when present. Tracked from Phase 5 D4. See claude-notes/plans/2026-04-24-websites-phase-5.md.","status":"open","priority":3,"issue_type":"feature","created_at":"2026-04-25T01:31:29.127942Z","created_by":"cscheid","updated_at":"2026-04-25T01:31:29.127942Z","source_repo":".","compaction_level":0,"original_size":0,"dependencies":[{"issue_id":"bd-apvo","depends_on_id":"bd-u5pr","type":"discovered-from","created_at":"2026-04-25T01:31:29.127942Z","created_by":"cscheid","metadata":"{}","thread_id":""}]}
{"id":"bd-ascs","title":"LSP outline: include cross-referenceable elements (fig, thm, tbl)","description":"Cross-referenceable divs (#fig-, #thm-, #tbl-, etc.) do not appear in the LSP document outline. Headers that semantically belong to a cross-ref target (e.g. '## Line' inside ::: {#thm-line}) currently appear as standalone outline entries instead of being folded into their owning theorem/figure. See claude-notes/plans/2026-04-17-crossref-outline.md for the full plan.","status":"in_progress","priority":2,"issue_type":"feature","created_at":"2026-04-17T18:42:58.811042Z","created_by":"cscheid","updated_at":"2026-04-17T22:17:28.658125Z","source_repo":".","compaction_level":0,"original_size":0}
{"id":"bd-ayj6","title":"[websites phase 9] Hub-client project rendering","description":"Plan: claude-notes/plans/2026-04-23-website-project-epic.md § Phase 9.\n\nDeliverables:\n- New WASM API entry points:\n - build_project_nav(project_dir) -> ProjectNavState\n - render_page_in_project(file_path, project_nav_state) -> HTML\n- Hub-client state: project-scoped nav cache, invalidation on profile-affecting edits (title, frontmatter, draft flag, _quarto.yml sidebar changes).\n- Live preview: editing a page title updates sibling sidebars within one render cycle.\n- API shape must leave room for future Q2 'quarto preview' (local hub-client instance).\n- End-to-end smoke test in a real browser session per CLAUDE.md § End-to-end verification.\n\nBlocked by Phases 2, 3, 5.","status":"closed","priority":1,"issue_type":"feature","created_at":"2026-04-23T18:43:28.398865Z","created_by":"cscheid","updated_at":"2026-04-29T00:31:38.160801Z","closed_at":"2026-04-29T00:31:38.160419Z","close_reason":"Phase 9 implemented: Pass2Renderer trait extraction (9.0), ProjectPipeline un-gate for WASM (9.1), WASM Pass-2 renderer + cross-platform flush_site_libs (9.2), render_page_in_project WASM entry point with RenderMode::ActivePage (9.3), hub-client renderToHtml switch + Preview useEffect deps (9.4), hub-smoke fixture + native integration tests (9.5), close-out (9.6). Plan: claude-notes/plans/2026-04-27-websites-phase-9.md. 8072 workspace tests pass; cargo xtask verify (Rust + hub-client WASM build + tests) passes. Browser smoke GIF deferred to a follow-up session.","source_repo":".","compaction_level":0,"original_size":0,"dependencies":[{"issue_id":"bd-ayj6","depends_on_id":"bd-0tr6","type":"parent-child","created_at":"2026-04-23T18:43:28.398865Z","created_by":"cscheid","metadata":"{}","thread_id":""},{"issue_id":"bd-ayj6","depends_on_id":"bd-h4l6","type":"blocks","created_at":"2026-04-23T18:43:50.534096Z","created_by":"cscheid","metadata":"{}","thread_id":""},{"issue_id":"bd-ayj6","depends_on_id":"bd-mre3","type":"blocks","created_at":"2026-04-23T18:43:48.471854Z","created_by":"cscheid","metadata":"{}","thread_id":""},{"issue_id":"bd-ayj6","depends_on_id":"bd-mw7x","type":"blocks","created_at":"2026-04-23T18:43:49.497210Z","created_by":"cscheid","metadata":"{}","thread_id":""},{"issue_id":"bd-ayj6","depends_on_id":"bd-xee1","type":"blocks","created_at":"2026-04-23T18:44:39.567807Z","created_by":"cscheid","metadata":"{}","thread_id":""}]}
Expand Down
Loading
Loading