Skip to content

Extend daemon start help with config and environment guidance (3.2.2) - #131

Merged
leynos merged 2 commits into
mainfrom
3-2-2-extend-daemon-start-help-with-config-guidance
May 17, 2026
Merged

Extend daemon start help with config and environment guidance (3.2.2)#131
leynos merged 2 commits into
mainfrom
3-2-2-extend-daemon-start-help-with-config-guidance

Conversation

@lodyai

@lodyai lodyai Bot commented May 4, 2026

Copy link
Copy Markdown
Contributor

Summary

This branch carries the pre-implementation execution plan for roadmap task
3.2.2, which extends weaver daemon start --help with documentation of the
WEAVERD_BIN and WEAVER_FOREGROUND environment variables and at least one
startup example using one of those overrides. The plan authorises the
forthcoming implementation; no source, test, or runtime behaviour changes
have landed in this branch yet.

Roadmap task: (3.2.2) — see docs/roadmap.md and the Level 8 entry in docs/ui-gap-analysis.md.

Execplan: docs/execplans/3-2-2-extend-daemon-start-help-with-config-guidance.md. Status in the file is DRAFT; approval on this draft pull request is the gate that authorises implementation.

Review walkthrough

Validation

This pull request changes only the execplan document. The relevant gateway
results so far:

  • make markdownlint: 0 errors across 83 files after a line-length fix.

The full implementation gateways (make check-fmt, make lint, make test,
make fmt, make markdownlint, make nixie) will run on the implementation
pull request that follows approval of this plan.

Notes

  • The plan deliberately leaves the existing actionable-guidance wording
    (introduced in 2.3.3) untouched and only cross-references it for
    consistency.
  • The plan covers branch rename and draft pull request creation as Stage D
    steps; both have already been performed for this pull request (the branch
    was renamed before any pull request existed, so a local rename plus push
    was used in line with the system instructions).
  • Implementation will land on the same branch as additional commits once the
    plan is approved.

Summary by Sourcery

Document roadmap alignment for daemon-start help guidance by renumbering and revising the execution plan around the live phase-13 command metadata framework.

Documentation:

  • Add an execution plan that rehomes the archived 3.2.2 daemon-start help requirement under live roadmap task 13.3.3, clarifying constraints, risks, and preferred implementation paths via generated command metadata.

Chores:

  • Record that the archived 3.2.2 plan should not be implemented as a standalone patch and instead serve as provenance and acceptance criteria for the phase-13 help system work.

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry @LodyAI[bot], you have reached your weekly rate limit of 2500000 diff characters.

Please try again later or upgrade to continue using Sourcery

@coderabbitai

coderabbitai Bot commented May 4, 2026

Copy link
Copy Markdown

Review Change Stack

Execplan document for daemon start help guidance

This PR introduces a new pre-implementation execplan document at docs/execplans/13-3-3-archive-3-2-2-daemon-start-help-guidance.md that establishes the execution plan for roadmap task 13.3.3, archiving and consolidating guidance from the deprecated task 3.2.2 ("daemon start help").

Key content

The execplan formalises the strategy for extending weaver daemon start --help with documentation of the WEAVERD_BIN and WEAVER_FOREGROUND environment variables and startup examples. It explicitly directs that:

  • The execplan is a living document that must not be implemented as a standalone 3.2.2 patch without an approved temporary-adapter exception
  • Task 3.2.2 serves as provenance only and should not be marked complete in the roadmap

Structured guidance

The document provides:

  • Roadmap-fit analysis: Explains that lifecycle environment-variable help must be preserved but integrated via the generated command-help metadata path rather than a hand-written clap long_about approach
  • Constraints and tolerances: Defines stop/escalation conditions around scope creep, roadmap mismatch, representation limits, and validation tooling requirements
  • Risk assessment: Covers operator-facing gap timing and help snapshot churn concerns
  • Progress checklist: Documents completed renumbering/analysis steps and pending implementation follow-ups
  • Decision log and outcomes: Reiterates the recommendation not to build the original clap-only patch
  • Two-stage implementation plan:
    • Stage A ("Generated-metadata path"): Requires generated help/reference/drift fixtures to expose environment variables
    • Stage B ("Temporary-adapter exception"): Describes a narrowly scoped temporary patch with acceptance criteria and removal ownership tied to task 13.3.3 or 13.3.4
  • Validation commands: Specifies documentation gates (make fmt, make markdownlint, make nixie)
  • Recovery guidance: Clarifies restoration steps if the rename causes confusion

Impact

  • Documentation only; no changes to exported or public code entities
  • Lines added: +317
  • Validation performed: make markdownlint passed (0 errors across 83 files)
  • Document status: DRAFT; approval of this PR is the gate to implementation

Walkthrough

A new ExecPlan document renumbers archived 3.2.2 daemon-start help guidance as live roadmap task 13.3.3. It establishes roadmap-fit requirements, implementation constraints, risk register, and a two-stage delivery plan using generated metadata (Stage A) and optional temporary-adapter exception (Stage B), with validation commands and recovery procedures.

Changes

ExecPlan: Daemon-start Help Guidance

Layer / File(s) Summary
ExecPlan document
docs/execplans/13-3-3-archive-3-2-2-daemon-start-help-guidance.md
Complete reauthoring of archived 3.2.2 guidance as live 13.3.3 ExecPlan, including roadmap-fit analysis requiring lifecycle environment variables (WEAVERD_BIN, WEAVER_FOREGROUND) to be integrated via generated command-help metadata rather than hand-written clap, constraints/tolerances defining scope creep and validation tooling requirements, risk register covering operator-facing gaps and snapshot churn, explicit decision log rejecting clap-only patch approach, two implementation stages (generated-metadata path and temporary-adapter exception with removal ownership tied to 13.3.3 or 13.3.4), and validation commands plus idempotence/recovery instructions for the rename.

Suggested labels

Roadmap

Poem

🏗️ An archived task finds new home,
Renumbered to thirteen-three-three—
Metadata paths, constraints mapped, stages planned,
A living document guides the way forward. ✨

🚥 Pre-merge checks | ✅ 18
✅ Passed checks (18 passed)
Check name Status Explanation
Title check ✅ Passed The title correctly references the roadmap task (3.2.2) and accurately summarises the execplan's primary purpose: extending daemon start help with environment variable guidance.
Description check ✅ Passed The description is directly related to the changeset, providing a detailed summary of the execplan document, roadmap alignment, review walkthrough, and validation performed.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Testing (Overall) ✅ Passed This PR contains only documentation; no new functionality or behavioural changes to code. The ExecPlan file is DRAFT status and explicitly defers implementation pending approval. No tests needed.
User-Facing Documentation ✅ Passed DRAFT execution plan only. No implementation or source changes. No user-facing functionality changed—implementation deferred. Check applies when new/changed functionality introduced. Not present.
Developer Documentation ✅ Passed Pre-implementation execplan only. No code, APIs or architecture changes. Custom check applies to implementation PRs not planning documents.
Module-Level Documentation ✅ Passed Custom check requires module-level documentation in code modules. This PR adds only a documentation ExecPlan Markdown file, with no code modules created or modified. Check is not applicable.
Testing (Unit And Behavioural) ✅ Passed Documentation-only PR containing an execution plan, with zero code changes. Testing requirements do not apply to planning documents; tests will be added during implementation.
Testing (Property / Proof) ✅ Passed This PR contains only documentation (an ExecPlan Markdown file). No source code or code-level invariants are introduced. Property tests and formal verification do not apply.
Testing (Compile-Time / Ui) ✅ Passed Documentation-only change (pre-implementation ExecPlan). Testing check is not applicable to planning documents; it applies to future implementation commits.
Unit Architecture ✅ Passed Not applicable. The Unit Architecture check evaluates code structure; this PR modifies only a documentation ExecPlan with no source code, test, or runtime changes.
Domain Architecture ✅ Passed PR contains only documentation changes. No code modifications. The execplan advocates centralised metadata over ad-hoc adapter concerns—strengthening architectural boundaries.
Observability ✅ Passed PR contains only a planning/documentation file with no code changes or operational behaviour modifications. The observability check is not applicable to pre-implementation planning documents.
Security And Privacy ✅ Passed PR modifies only a Markdown documentation file for an execution plan. No source code changes, secrets, credentials, injection risks, or sensitive data exposure detected.
Performance And Resource Use ✅ Passed Documentation-only PR with no code changes. Performance and resource use checks apply to code, not planning documents.
Concurrency And State ✅ Passed Only documentation file changed. Concurrency check applies to code involving shared state, locks, async—not documentation.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 3-2-2-extend-daemon-start-help-with-config-guidance

Comment @coderabbitai help to get the list of available commands and usage tips.

codescene-delta-analysis[bot]

This comment was marked as outdated.

Add the pre-implementation execplan for roadmap task 3.2.2, covering the
extension of `weaver daemon start --help` with documentation of the
`WEAVERD_BIN` and `WEAVER_FOREGROUND` environment variables and at least
one startup example. The plan records the placement decision (per-variant
`long_about` rather than `after_help`), the test strategy (additive BDD
scenarios reusing the existing steps plus `#[rstest]` unit cases for the
env-var-set edge case), and the documentation impact on `users-guide.md`
and `developers-guide.md`.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@lodyai
lodyai Bot force-pushed the 3-2-2-extend-daemon-start-help-with-config-guidance branch from 1ef3819 to 101f5b0 Compare May 17, 2026 10:45
codescene-delta-analysis[bot]

This comment was marked as outdated.

Renumber the daemon-start help ExecPlan against live roadmap task
`13.3.3` while preserving archive `3.2.2` as provenance.

Record the roadmap-fit analysis: keep the environment-variable help
requirement, but do not build the old standalone clap `long_about`
patch unless a temporary-adapter exception is explicitly approved.
@leynos
leynos marked this pull request as ready for review May 17, 2026 11:18
@sourcery-ai

sourcery-ai Bot commented May 17, 2026

Copy link
Copy Markdown

Reviewer's Guide

Adds a new execplan document that renumbers and reframes the previous 3.2.2 daemon-start help plan into live roadmap task 13.3.3, clarifying that the original clap-only help patch should not be implemented as a standalone change and that the requirement should instead be satisfied via generated command metadata under phase 13.

Flow diagram for choosing generated metadata vs temporary adapter

flowchart TD
  Start["Need to expose WEAVERD_BIN and WEAVER_FOREGROUND in daemon help"]
  Check13_3_3["Is live roadmap task 13.3.3 (generated metadata) underway?"]
  UseGenerated["Implement via generated CommandMetadata (preferred)"]
  NeedTemp["Is there an immediate release/support need?"]
  TempAdapter["Add temporary DaemonAction_Start help patch<br/>(label as adapter under 13.1.3)"]
  Defer["Defer change until 13.3.3"]

  Start --> Check13_3_3
  Check13_3_3 -->|Yes| UseGenerated
  Check13_3_3 -->|No| NeedTemp
  NeedTemp -->|Yes| TempAdapter
  NeedTemp -->|No| Defer
Loading

File-Level Changes

Change Details Files
Introduce a new execplan aligning archived daemon-start help requirement 3.2.2 with live roadmap task 13.3.3 and recommending a metadata-driven implementation path.
  • Create a 13.3.3 execplan Markdown document that captures the purpose of preserving daemon-start help intent while renumbering it into the current roadmap framework.
  • Document that the original clap long_about-only patch is no longer the preferred implementation and should generally not be built as a standalone 3.2.2 change.
  • Define constraints, tolerances, and risks that emphasise use of a single generated command metadata source for help, manpages, shell completions, skills, and drift checks.
  • Record a roadmap-fit analysis explaining why the operator requirement (exposing WEAVERD_BIN and WEAVER_FOREGROUND in daemon lifecycle help) should be fulfilled via generated metadata rather than prototype-only help text.
  • Add progress tracking, decision log entries, and a revised plan of work that separates the preferred generated-metadata path (Stage A) from a narrowly scoped temporary-adapter exception path (Stage B).
  • Specify validation commands and idempotence guidance, making clear that this change is documentation-only and does not yet alter Rust code, runtime behaviour, or roadmap completion states.
docs/execplans/13-3-3-archive-3-2-2-daemon-start-help-guidance.md

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've found 2 issues, and left some high level feedback:

  • The file is positioned as the ExecPlan for live task 13.3.3 while also being an archive alignment document; consider explicitly stating whether a separate implementation-focused 13.3.3 ExecPlan will be created later so that future maintainers are not confused about where the authoritative build plan for 13.3.3 should live.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The file is positioned as the ExecPlan for live task 13.3.3 while also being an archive alignment document; consider explicitly stating whether a separate implementation-focused 13.3.3 ExecPlan will be created later so that future maintainers are not confused about where the authoritative build plan for 13.3.3 should live.

## Individual Comments

### Comment 1
<location path="docs/execplans/13-3-3-archive-3-2-2-daemon-start-help-guidance.md" line_range="86" />
<code_context>
+`weaver daemon start --help` cannot discover `WEAVERD_BIN`, which overrides the
+spawned daemon binary, or `WEAVER_FOREGROUND`, which keeps the daemon attached
+to the controlling terminal. That information matters during installation
+failures, debugging, and CI jobs.
+
+The problem is still real, but the proposed mechanism is misaligned with the
</code_context>
<issue_to_address>
**suggestion (review_instructions):** The acronym “CI” is used without being defined on first use, which violates the acronym-definition instruction.

Please expand “CI” on first use, for example “continuous integration (CI) jobs”, to comply with the requirement to define uncommon acronyms on first use.

<details>
<summary>Review instructions:</summary>

**Path patterns:** `**/*.md`

**Instructions:**
Define uncommon acronyms on first use.

</details>
</issue_to_address>

### Comment 2
<location path="docs/execplans/13-3-3-archive-3-2-2-daemon-start-help-guidance.md" line_range="218" />
<code_context>
+
+## Context and orientation
+
+The original plan targeted the prototype CLI path. It proposed adding a
+`#[command(long_about = ...)]` attribute to `DaemonAction::Start` in
+`crates/weaver-cli/src/cli.rs`, then updating unit tests, behavioural tests,
</code_context>
<issue_to_address>
**suggestion (review_instructions):** The acronym “CLI” is introduced without being defined on first use, which conflicts with the acronym-definition requirement.

Please expand “CLI” the first time it appears, for example “command-line interface (CLI) path”, so that the acronym is defined on first use.

<details>
<summary>Review instructions:</summary>

**Path patterns:** `**/*.md`

**Instructions:**
Define uncommon acronyms on first use.

</details>
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

`weaver daemon start --help` cannot discover `WEAVERD_BIN`, which overrides the
spawned daemon binary, or `WEAVER_FOREGROUND`, which keeps the daemon attached
to the controlling terminal. That information matters during installation
failures, debugging, and CI jobs.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion (review_instructions): The acronym “CI” is used without being defined on first use, which violates the acronym-definition instruction.

Please expand “CI” on first use, for example “continuous integration (CI) jobs”, to comply with the requirement to define uncommon acronyms on first use.

Review instructions:

Path patterns: **/*.md

Instructions:
Define uncommon acronyms on first use.


## Context and orientation

The original plan targeted the prototype CLI path. It proposed adding a

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion (review_instructions): The acronym “CLI” is introduced without being defined on first use, which conflicts with the acronym-definition requirement.

Please expand “CLI” the first time it appears, for example “command-line interface (CLI) path”, so that the acronym is defined on first use.

Review instructions:

Path patterns: **/*.md

Instructions:
Define uncommon acronyms on first use.

@coderabbitai coderabbitai Bot added the Roadmap label May 17, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
docs/execplans/13-3-3-archive-3-2-2-daemon-start-help-guidance.md (1)

318-318: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Add trailing newline at end of file.

The file should end with a newline character after the final line of content (line 317). Most text editors and POSIX standards expect files to end with a newline.

[type:syntax/md]

Triage: [type:syntax/md]

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/execplans/13-3-3-archive-3-2-2-daemon-start-help-guidance.md` at line
318, Add a single trailing newline character at the very end of the markdown
file so the file ends with a newline (ensure the final line is terminated with
'\n'); modify the document's final line to include this trailing newline and
save the file to satisfy POSIX/editor expectations.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@docs/execplans/13-3-3-archive-3-2-2-daemon-start-help-guidance.md`:
- Line 318: Add a single trailing newline character at the very end of the
markdown file so the file ends with a newline (ensure the final line is
terminated with '\n'); modify the document's final line to include this trailing
newline and save the file to satisfy POSIX/editor expectations.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 328de488-4d50-4af8-99fa-37b5b454fa16

📥 Commits

Reviewing files that changed from the base of the PR and between 70ed4ee and 3b91e3c.

📒 Files selected for processing (1)
  • docs/execplans/13-3-3-archive-3-2-2-daemon-start-help-guidance.md

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant