Skip to content

wasm serve --watch: refresh the watcher's ignore list when prebuild outputs change #463

Closed

Description

@apotema

Left over from cli#462 (Codex P2 on a346694, watch_replan.zig:193).

A replan now installs the new .prebuild steps, but the watcher's ignore_files is built once from the startup config (src/cli/pipeline/run.zig:290-305) and never refreshed. When a step's .outputs change or the step is removed during wasm serve --watch, its old outputs stay ignored, so edits to those files no longer trigger a rebuild until restart. Rebuild the ignore set together with the new prebuild configuration, at the same commit point.

Also noted in #462: the rebuild triggered by the project.labelle edit itself still runs the old steps once, because the prebuild runs before the replan. Consider replanning first.

https://claude.ai/code/session_01R2K5sJDL5Msn1uRTkybiDP

Activity

  1. apotema commented on Sep 27, 2026

    @apotema
    ContributorAuthor

    The final review of #460 (1f1c48f) raised both halves again: CodeRabbit (Major, watch_replan.zig:193) wants the re-read steps run in the same rebuild that sees the edit, and Codex (run.zig:295) wants the ignore list recomputed when the new generation is installed. Both are in scope here.

    https://claude.ai/code/session_01R2K5sJDL5Msn1uRTkybiDP

  2. apotema commented on Sep 27, 2026

    @apotema
    ContributorAuthor

    Closed as not planned: watch mode is being removed from the CLI (RFC #466, revision 3). labelle wasm serve --watch and the watcher code are deleted with the rest of the wasm core code.

    https://claude.ai/code/session_01R2K5sJDL5Msn1uRTkybiDP

  3. apotema commented on Sep 27, 2026

    @apotema
    ContributorAuthor

    Reopened: RFC #466 revision 4 keeps browser watch (labelle run --watch via the web provider). This fix is required in PR A2: replan changed project configuration before the prebuild phase, and swap prebuild steps and their ignore set together.

    https://claude.ai/code/session_01R2K5sJDL5Msn1uRTkybiDP

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions