-
-
Notifications
You must be signed in to change notification settings - Fork 361
Specification on runner & pre-computations #3902
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
📝 WalkthroughWalkthroughThis pull request introduces comprehensive documentation for two major architectural features and supporting decision records. It adds specifications, implementation plans, and task checklists for Worker Mode Support and Album Computed Fields Pre-computation, along with updates to the open questions corpus and project roadmap. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
Pre-merge checks✅ Passed checks (1 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
docs/specs/4-architecture/open-questions.md (1)
1318-1318: Update footer timestamp to match PR date.Line 1318 shows "Last updated: 2025-12-27" but all changes in this file are dated 2025-12-28 (Q-003-09 and resolved question entries).
🔎 Proposed fix
-*Last updated: 2025-12-27* +*Last updated: 2025-12-28*
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (7)
docs/specs/4-architecture/features/002-worker-mode/plan.mddocs/specs/4-architecture/features/002-worker-mode/spec.mddocs/specs/4-architecture/features/002-worker-mode/tasks.mddocs/specs/4-architecture/features/003-album-computed-fields/spec.mddocs/specs/4-architecture/open-questions.mddocs/specs/4-architecture/roadmap.mddocs/specs/6-decisions/ADR-0003-album-computed-fields-precomputation.md
🧰 Additional context used
📓 Path-based instructions (7)
**/*.md
📄 CodeRabbit inference engine (.github/copilot-instructions.md)
**/*.md: Use Markdown format for documentation
At the bottom of documentation files, add an hr line followed by "Last updated: [date of the update]"
Files:
docs/specs/6-decisions/ADR-0003-album-computed-fields-precomputation.mddocs/specs/4-architecture/roadmap.mddocs/specs/4-architecture/features/002-worker-mode/spec.mddocs/specs/4-architecture/features/003-album-computed-fields/spec.mddocs/specs/4-architecture/features/002-worker-mode/plan.mddocs/specs/4-architecture/features/002-worker-mode/tasks.mddocs/specs/4-architecture/open-questions.md
docs/specs/6-decisions/**/*.md
📄 CodeRabbit inference engine (AGENTS.md)
docs/specs/6-decisions/**/*.md: For architecturally significant clarifications (cross-feature/module boundaries, security/telemetry strategy, major NFR trade-offs), create or update an ADR using docs/specs/templates/adr-template.md, then mark the corresponding open-questions row as resolved with links to the spec sections and ADR ID.
Record only confirmed architectural decisions and architecturally significant clarifications as ADRs under docs/specs/6-decisions/ using the adr-template.md, and reference those ADR IDs from the relevant spec sections and open-questions log.
After completing work, summarise any lasting decisions in the appropriate ADR (if applicable).
Files:
docs/specs/6-decisions/ADR-0003-album-computed-fields-precomputation.md
docs/specs/4-architecture/roadmap.md
📄 CodeRabbit inference engine (AGENTS.md)
docs/specs/4-architecture/roadmap.md: Update the roadmap regularly to reflect feature status and progress as work is made.
Keep high-level plans in docs/specs/4-architecture/roadmap.md, store each feature's spec/plan/tasks inside docs/specs/4-architecture/features/-/, and remove plans once work is complete.
Files:
docs/specs/4-architecture/roadmap.md
docs/specs/4-architecture/features/**/*.md
📄 CodeRabbit inference engine (AGENTS.md)
docs/specs/4-architecture/features/**/*.md: Author new specifications, feature plans, and task checklists using docs/specs/templates/feature-spec-template.md, docs/specs/templates/feature-plan-template.md, and docs/specs/templates/feature-tasks-template.md to keep structure, metadata, and verification notes uniform across features.
For any new UI feature or modification, include an ASCII mock-up in the specification (see docs/specs/4-architecture/spec-guidelines/ui-ascii-mockups.md).
When revising a specification, only document fallback or compatibility behaviour if the user explicitly asked for it; if instructions are unclear, pause and request confirmation instead of assuming a fallback.
For every task, refresh the relevant feature plan and note open questions; only move forward once the plan reflects the desired change. Update specs before code.
Update feature specs, feature plans, and tasks documents as progress is made and sync context to disk.
Capture prompt summaries, command sequences, and rationale in the active feature plan or an appendix referenced from it so downstream reviewers know how the change was produced (intent logging).
Track upcoming additions for contract tests, mutation analysis, and security/red-team prompt suites in the plans until automated jobs exist (quality gates).
Publish prompt and tool usage notes alongside the feature plan update so future agents understand how the iteration unfolded.
Files:
docs/specs/4-architecture/features/002-worker-mode/spec.mddocs/specs/4-architecture/features/003-album-computed-fields/spec.mddocs/specs/4-architecture/features/002-worker-mode/plan.mddocs/specs/4-architecture/features/002-worker-mode/tasks.md
docs/specs/4-architecture/features/**/{spec,plan,tasks}.md
📄 CodeRabbit inference engine (AGENTS.md)
docs/specs/4-architecture/features/**/{spec,plan,tasks}.md: Start every feature by updating or creating its specification at docs/specs/4-architecture/features/-/spec.md, followed by plan and tasks documents after clarifications are resolved.
Generate or refresh the feature plan only after the specification is current and high-/medium-impact clarifications are resolved and recorded in the spec (plus ADRs where required).
Files:
docs/specs/4-architecture/features/002-worker-mode/spec.mddocs/specs/4-architecture/features/003-album-computed-fields/spec.mddocs/specs/4-architecture/features/002-worker-mode/plan.mddocs/specs/4-architecture/features/002-worker-mode/tasks.md
docs/specs/4-architecture/features/**/tasks.md
📄 CodeRabbit inference engine (AGENTS.md)
docs/specs/4-architecture/features/**/tasks.md: Maintain a per-feature tasks checklist that mirrors the plan, orders tests before code, and keeps planned increments ≤90 minutes by preferring finer-grained entries and documenting sub-steps when something nears the limit.
Mark each task [x] in the feature's tasks.md as soon as it passes verification. Do not batch task completions—update the checklist after every individual task so progress is always visible.
Before committing, confirm every completed task in tasks.md is marked [x] and the roadmap status reflects current progress (validate task checklist).
Files:
docs/specs/4-architecture/features/002-worker-mode/tasks.md
docs/specs/4-architecture/open-questions.md
📄 CodeRabbit inference engine (AGENTS.md)
docs/specs/4-architecture/open-questions.md: Capture every high-impact clarification question and each medium-impact uncertainty per feature in docs/specs/4-architecture/open-questions.md and, once resolved, record the outcome directly in the spec (requirements, NFR, behaviour/UI, telemetry/policy sections).
Log high- and medium-impact open questions in docs/specs/4-architecture/open-questions.md and remove each row as soon as it is resolved, ensuring the answer is captured first in the governing spec's normative sections.
Update or close entries in docs/specs/4-architecture/open-questions.md after completing work.
Files:
docs/specs/4-architecture/open-questions.md
🧠 Learnings (23)
📓 Common learnings
Learnt from: CR
Repo: LycheeOrg/Lychee PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-22T14:12:18.082Z
Learning: Applies to docs/specs/4-architecture/open-questions.md : Update or close entries in docs/specs/4-architecture/open-questions.md after completing work.
Learnt from: CR
Repo: LycheeOrg/Lychee PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-22T14:12:18.082Z
Learning: Applies to docs/specs/4-architecture/features/**/*.md : For every task, refresh the relevant feature plan and note open questions; only move forward once the plan reflects the desired change. Update specs before code.
Learnt from: CR
Repo: LycheeOrg/Lychee PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-22T14:12:18.082Z
Learning: Applies to docs/specs/4-architecture/open-questions.md : Capture every high-impact clarification question and each medium-impact uncertainty per feature in docs/specs/4-architecture/open-questions.md and, once resolved, record the outcome directly in the spec (requirements, NFR, behaviour/UI, telemetry/policy sections).
Learnt from: CR
Repo: LycheeOrg/Lychee PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-22T14:12:18.082Z
Learning: Applies to docs/specs/6-decisions/**/*.md : For architecturally significant clarifications (cross-feature/module boundaries, security/telemetry strategy, major NFR trade-offs), create or update an ADR using docs/specs/templates/adr-template.md, then mark the corresponding open-questions row as resolved with links to the spec sections and ADR ID.
Learnt from: CR
Repo: LycheeOrg/Lychee PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-22T14:12:18.082Z
Learning: Applies to docs/specs/4-architecture/open-questions.md : Log high- and medium-impact open questions in docs/specs/4-architecture/open-questions.md and remove each row as soon as it is resolved, ensuring the answer is captured first in the governing spec's normative sections.
Learnt from: CR
Repo: LycheeOrg/Lychee PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-22T14:12:18.082Z
Learning: Applies to docs/specs/4-architecture/features/**/*.md : Update feature specs, feature plans, and tasks documents as progress is made and sync context to disk.
Learnt from: CR
Repo: LycheeOrg/Lychee PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-22T14:12:18.082Z
Learning: Applies to docs/specs/4-architecture/roadmap.md : Keep high-level plans in docs/specs/4-architecture/roadmap.md, store each feature's spec/plan/tasks inside docs/specs/4-architecture/features/<NNN>-<feature-name>/, and remove plans once work is complete.
Learnt from: CR
Repo: LycheeOrg/Lychee PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-22T14:12:18.082Z
Learning: Applies to docs/specs/4-architecture/features/**/*.md : Track upcoming additions for contract tests, mutation analysis, and security/red-team prompt suites in the plans until automated jobs exist (quality gates).
Learnt from: CR
Repo: LycheeOrg/Lychee PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-22T14:12:18.082Z
Learning: Applies to docs/specs/4-architecture/features/**/tasks.md : Maintain a per-feature tasks checklist that mirrors the plan, orders tests before code, and keeps planned increments ≤90 minutes by preferring finer-grained entries and documenting sub-steps when something nears the limit.
Learnt from: CR
Repo: LycheeOrg/Lychee PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-22T14:12:18.082Z
Learning: Applies to docs/specs/5-decisions/**/*.md : Before planning or implementation, skim ADRs under docs/specs/5-decisions whose related-features/specs entries reference the active feature ID so high-impact clarifications and architectural decisions are treated as required context.
📚 Learning: 2025-12-22T14:12:18.082Z
Learnt from: CR
Repo: LycheeOrg/Lychee PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-22T14:12:18.082Z
Learning: Applies to docs/specs/6-decisions/**/*.md : For architecturally significant clarifications (cross-feature/module boundaries, security/telemetry strategy, major NFR trade-offs), create or update an ADR using docs/specs/templates/adr-template.md, then mark the corresponding open-questions row as resolved with links to the spec sections and ADR ID.
Applied to files:
docs/specs/6-decisions/ADR-0003-album-computed-fields-precomputation.mddocs/specs/4-architecture/open-questions.md
📚 Learning: 2025-12-22T14:12:18.082Z
Learnt from: CR
Repo: LycheeOrg/Lychee PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-22T14:12:18.082Z
Learning: Applies to docs/specs/6-decisions/**/*.md : Record only confirmed architectural decisions and architecturally significant clarifications as ADRs under docs/specs/6-decisions/ using the adr-template.md, and reference those ADR IDs from the relevant spec sections and open-questions log.
Applied to files:
docs/specs/6-decisions/ADR-0003-album-computed-fields-precomputation.mddocs/specs/4-architecture/open-questions.md
📚 Learning: 2025-12-22T14:12:18.082Z
Learnt from: CR
Repo: LycheeOrg/Lychee PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-22T14:12:18.082Z
Learning: Applies to docs/specs/5-decisions/**/*.md : Before planning or implementation, skim ADRs under docs/specs/5-decisions whose related-features/specs entries reference the active feature ID so high-impact clarifications and architectural decisions are treated as required context.
Applied to files:
docs/specs/6-decisions/ADR-0003-album-computed-fields-precomputation.mddocs/specs/4-architecture/roadmap.md
📚 Learning: 2025-12-22T14:12:18.082Z
Learnt from: CR
Repo: LycheeOrg/Lychee PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-22T14:12:18.082Z
Learning: Applies to docs/specs/6-decisions/**/*.md : After completing work, summarise any lasting decisions in the appropriate ADR (if applicable).
Applied to files:
docs/specs/6-decisions/ADR-0003-album-computed-fields-precomputation.md
📚 Learning: 2025-12-22T14:12:18.082Z
Learnt from: CR
Repo: LycheeOrg/Lychee PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-22T14:12:18.082Z
Learning: Applies to docs/specs/4-architecture/roadmap.md : Update the roadmap regularly to reflect feature status and progress as work is made.
Applied to files:
docs/specs/4-architecture/roadmap.md
📚 Learning: 2025-12-22T14:12:18.082Z
Learnt from: CR
Repo: LycheeOrg/Lychee PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-22T14:12:18.082Z
Learning: Applies to docs/specs/4-architecture/features/**/*.md : Track upcoming additions for contract tests, mutation analysis, and security/red-team prompt suites in the plans until automated jobs exist (quality gates).
Applied to files:
docs/specs/4-architecture/roadmap.mddocs/specs/4-architecture/features/002-worker-mode/spec.mddocs/specs/4-architecture/features/002-worker-mode/plan.mddocs/specs/4-architecture/features/002-worker-mode/tasks.md
📚 Learning: 2025-12-22T14:12:18.082Z
Learnt from: CR
Repo: LycheeOrg/Lychee PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-22T14:12:18.082Z
Learning: Applies to docs/specs/4-architecture/roadmap.md : Keep high-level plans in docs/specs/4-architecture/roadmap.md, store each feature's spec/plan/tasks inside docs/specs/4-architecture/features/<NNN>-<feature-name>/, and remove plans once work is complete.
Applied to files:
docs/specs/4-architecture/roadmap.mddocs/specs/4-architecture/features/002-worker-mode/plan.mddocs/specs/4-architecture/features/002-worker-mode/tasks.md
📚 Learning: 2025-12-22T14:12:18.082Z
Learnt from: CR
Repo: LycheeOrg/Lychee PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-22T14:12:18.082Z
Learning: Applies to docs/specs/4-architecture/features/**/*.md : Update feature specs, feature plans, and tasks documents as progress is made and sync context to disk.
Applied to files:
docs/specs/4-architecture/roadmap.mddocs/specs/4-architecture/features/002-worker-mode/plan.mddocs/specs/4-architecture/features/002-worker-mode/tasks.md
📚 Learning: 2025-12-22T14:12:18.082Z
Learnt from: CR
Repo: LycheeOrg/Lychee PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-22T14:12:18.082Z
Learning: Applies to docs/specs/4-architecture/features/**/{spec,plan,tasks}.md : Generate or refresh the feature plan only after the specification is current and high-/medium-impact clarifications are resolved and recorded in the spec (plus ADRs where required).
Applied to files:
docs/specs/4-architecture/roadmap.mddocs/specs/4-architecture/features/002-worker-mode/spec.mddocs/specs/4-architecture/features/002-worker-mode/plan.md
📚 Learning: 2025-12-22T14:12:18.082Z
Learnt from: CR
Repo: LycheeOrg/Lychee PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-22T14:12:18.082Z
Learning: Applies to docs/specs/4-architecture/features/**/*.md : Publish prompt and tool usage notes alongside the feature plan update so future agents understand how the iteration unfolded.
Applied to files:
docs/specs/4-architecture/roadmap.mddocs/specs/4-architecture/features/002-worker-mode/spec.mddocs/specs/4-architecture/features/002-worker-mode/plan.mddocs/specs/4-architecture/features/002-worker-mode/tasks.md
📚 Learning: 2025-12-22T14:12:18.082Z
Learnt from: CR
Repo: LycheeOrg/Lychee PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-22T14:12:18.082Z
Learning: Applies to docs/specs/4-architecture/features/**/*.md : For every task, refresh the relevant feature plan and note open questions; only move forward once the plan reflects the desired change. Update specs before code.
Applied to files:
docs/specs/4-architecture/roadmap.mddocs/specs/4-architecture/features/002-worker-mode/plan.mddocs/specs/4-architecture/features/002-worker-mode/tasks.md
📚 Learning: 2025-12-22T14:12:18.082Z
Learnt from: CR
Repo: LycheeOrg/Lychee PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-22T14:12:18.082Z
Learning: Applies to docs/specs/4-architecture/features/**/*.md : Capture prompt summaries, command sequences, and rationale in the active feature plan or an appendix referenced from it so downstream reviewers know how the change was produced (intent logging).
Applied to files:
docs/specs/4-architecture/roadmap.mddocs/specs/4-architecture/features/002-worker-mode/spec.mddocs/specs/4-architecture/features/002-worker-mode/plan.md
📚 Learning: 2025-12-22T14:12:18.082Z
Learnt from: CR
Repo: LycheeOrg/Lychee PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-22T14:12:18.082Z
Learning: Applies to docs/specs/4-architecture/features/**/{spec,plan,tasks}.md : Start every feature by updating or creating its specification at docs/specs/4-architecture/features/<NNN>-<feature-name>/spec.md, followed by plan and tasks documents after clarifications are resolved.
Applied to files:
docs/specs/4-architecture/features/002-worker-mode/spec.mddocs/specs/4-architecture/features/002-worker-mode/plan.mddocs/specs/4-architecture/features/002-worker-mode/tasks.md
📚 Learning: 2025-12-22T14:12:18.082Z
Learnt from: CR
Repo: LycheeOrg/Lychee PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-22T14:12:18.082Z
Learning: Applies to docs/specs/4-architecture/features/**/tasks.md : Maintain a per-feature tasks checklist that mirrors the plan, orders tests before code, and keeps planned increments ≤90 minutes by preferring finer-grained entries and documenting sub-steps when something nears the limit.
Applied to files:
docs/specs/4-architecture/features/002-worker-mode/plan.mddocs/specs/4-architecture/features/002-worker-mode/tasks.md
📚 Learning: 2025-12-22T14:12:18.082Z
Learnt from: CR
Repo: LycheeOrg/Lychee PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-22T14:12:18.082Z
Learning: Applies to docs/specs/4-architecture/features/**/*.md : Author new specifications, feature plans, and task checklists using docs/specs/templates/feature-spec-template.md, docs/specs/templates/feature-plan-template.md, and docs/specs/templates/feature-tasks-template.md to keep structure, metadata, and verification notes uniform across features.
Applied to files:
docs/specs/4-architecture/features/002-worker-mode/plan.mddocs/specs/4-architecture/features/002-worker-mode/tasks.md
📚 Learning: 2025-12-22T14:12:18.082Z
Learnt from: CR
Repo: LycheeOrg/Lychee PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-22T14:12:18.082Z
Learning: Applies to docs/specs/4-architecture/features/**/tasks.md : Mark each task [x] in the feature's tasks.md as soon as it passes verification. Do not batch task completions—update the checklist after every individual task so progress is always visible.
Applied to files:
docs/specs/4-architecture/features/002-worker-mode/tasks.md
📚 Learning: 2025-12-22T14:12:18.082Z
Learnt from: CR
Repo: LycheeOrg/Lychee PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-22T14:12:18.082Z
Learning: Applies to docs/specs/4-architecture/features/**/tasks.md : Before committing, confirm every completed task in tasks.md is marked [x] and the roadmap status reflects current progress (validate task checklist).
Applied to files:
docs/specs/4-architecture/features/002-worker-mode/tasks.md
📚 Learning: 2025-12-22T14:12:18.082Z
Learnt from: CR
Repo: LycheeOrg/Lychee PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-22T14:12:18.082Z
Learning: Applies to docs/specs/4-architecture/open-questions.md : Update or close entries in docs/specs/4-architecture/open-questions.md after completing work.
Applied to files:
docs/specs/4-architecture/open-questions.md
📚 Learning: 2025-12-22T14:12:18.082Z
Learnt from: CR
Repo: LycheeOrg/Lychee PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-22T14:12:18.082Z
Learning: Applies to docs/specs/4-architecture/open-questions.md : Capture every high-impact clarification question and each medium-impact uncertainty per feature in docs/specs/4-architecture/open-questions.md and, once resolved, record the outcome directly in the spec (requirements, NFR, behaviour/UI, telemetry/policy sections).
Applied to files:
docs/specs/4-architecture/open-questions.md
📚 Learning: 2025-12-22T14:12:18.082Z
Learnt from: CR
Repo: LycheeOrg/Lychee PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-22T14:12:18.082Z
Learning: Applies to docs/specs/4-architecture/open-questions.md : Log high- and medium-impact open questions in docs/specs/4-architecture/open-questions.md and remove each row as soon as it is resolved, ensuring the answer is captured first in the governing spec's normative sections.
Applied to files:
docs/specs/4-architecture/open-questions.md
📚 Learning: 2025-12-22T14:12:18.082Z
Learnt from: CR
Repo: LycheeOrg/Lychee PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-22T14:12:18.082Z
Learning: Whenever presenting alternative approaches, first capture or update the entry in docs/specs/4-architecture/open-questions.md (summary row + Question Details section), then present the stored text to the user inline in chat with question ID and numbered-heading/Options A, B, C format with pros/cons, ordered by preference.
Applied to files:
docs/specs/4-architecture/open-questions.md
📚 Learning: 2025-12-22T14:12:18.082Z
Learnt from: CR
Repo: LycheeOrg/Lychee PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-22T14:12:18.082Z
Learning: Never ask the user for clarification, approval, or a decision in chat until the matching open question is logged in docs/specs/4-architecture/open-questions.md (table row + Question Details entry). Treat violations as blockers.
Applied to files:
docs/specs/4-architecture/open-questions.md
🪛 LanguageTool
docs/specs/6-decisions/ADR-0003-album-computed-fields-precomputation.md
[style] ~72-~72: To elevate your writing, try using a synonym here.
Context: ...after migration** – Fast migration, but hard to track completion, race conditions if...
(HARD_TO)
[style] ~82-~82: To elevate your writing, try using a synonym here.
Context: ...retry indefinitely on permanent errors, hard to detect stuck jobs ### Q-003-08: Rol...
(HARD_TO)
🔇 Additional comments (6)
docs/specs/4-architecture/roadmap.md (1)
9-10: Roadmap entries are well-aligned with PR scope.Feature 002 and 003 are correctly positioned as Planning status with P1 priority, and timestamps are synchronized with the PR date. The footer formatting follows coding guidelines.
Also applies to: 79-79
docs/specs/4-architecture/open-questions.md (1)
9-9: Q-003-09 properly logged as HIGH-impact open question with detailed analysis.The multi-user cover selection decision is well-framed with four options (A–D), clear trade-offs (schema complexity, storage overhead, security implications), and explicit impact analysis. The note at line 84 correctly flags this as requiring an ADR for architecturally significant decisions.
However, note that Q-003-09 remains in the Active Questions table as unresolved, while the broader Feature 003 spec and ADR-0003 have already been drafted. Clarify whether:
- Q-003-09 should remain open pending implementation (likely correct)
- Or if a design decision has been made and should be recorded in an ADR with a cross-reference from the resolved questions section
Based on learnings, resolved open questions should reference the ADR ID and spec sections where the answer is captured. If Q-003-09 is genuinely unresolved, it's correctly positioned; if a decision exists, move it to resolved with ADR linkage.
Also applies to: 13-84
docs/specs/4-architecture/features/002-worker-mode/tasks.md (1)
1-244: Task checklist is well-structured with test-first approach and reasonable granularity.The 26 tasks across 8 increments follow best practices: tests before implementation (T-002-01 before T-002-02), each task includes verification commands and clear exit criteria, and tasks are mostly ≤90 minutes. Task ordering respects dependencies (I1 entrypoint before I2 validation, I2 before I3 Docker composition). Documentation and roadmap updates are included (I8).
Consider during execution that a few tasks (T-002-09, T-002-10, T-002-13) involve multi-step integration testing and may approach 60–90 minute range; note sub-steps in the Notes if execution reveals scope creep.
Per coding guidelines, mark tasks
[x]immediately after each passes verification—do not batch completions. Update the roadmap status when all tasks are complete.docs/specs/4-architecture/features/002-worker-mode/plan.md (1)
1-630: Feature plan is comprehensive and well-structured with test-first approach.The plan clearly maps from spec requirements (FR-002-01 through FR-002-05) to increments (I1-I6) with detailed steps, shell script examples, and quality gates. Preconditions and exit criteria are defined for each increment. The risk assessment (lines 64–81) identifies portability, signal handling, and documentation gaps with concrete mitigations. Scenario tracking table ensures all 7 scenarios are covered.
Minor observations:
- Test-first pattern is followed (I1 creates test fixture before implementation)
- Docker Compose example (I3) is production-ready with security hardening and inline documentation
- Follow-ups section appropriately defers non-critical work (monitoring UI, auto-scaling)
Per learnings, update
tasks.mdmirrors this plan and keep both synchronized as progress is made. Record test outcomes in tasks.md after each increment completes.docs/specs/4-architecture/features/003-album-computed-fields/spec.md (1)
31-40: Functional requirements clearly map to increments and include validation paths.FR-003-01 through FR-003-06 define scope, success criteria, and failure handling. Each requirement includes a "Validation path" and "Telemetry & traces" section, which aligns well with the linked plan and tasks. Cross-references to resolved questions (Q-003-01 through Q-003-08) and ADR-0003 provide necessary context for implementation.
Note: FR-003-04 and FR-003-05 reference current cover selection logic and virtual column removal. Ensure existing tests verify identical behavior before/after migration (feature test requirement).
docs/specs/4-architecture/features/002-worker-mode/spec.md (1)
30-38: Functional requirements align well with linked plan and task increments.FR-002-01 through FR-002-05 clearly define mode detection, queue processing, default behavior, shared setup, and healthcheck. Each requirement includes success/validation/failure paths and telemetry. Cross-references to resolved questions Q-002-01 through Q-002-04 are appropriate (documented in plan and ADR-0003 for related decisions).
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.