Skip to content

Feature update mechanism (RFC #13 Etapa 3): changes to feature sources never reach existing installs #83

Description

@psaboia

Summary

Once a feature is enabled, the host owns a copy of its files (e.g. scripts/agent-comms/ask.sh). There is no mechanism to deliver later changes made to the feature source (features/<name>/) to hosts that already installed it — today the only path is disable-feature.sh + enable-feature.sh (destructive re-copy). This is structural: it applies to every feature, so it belongs one level up (the sync tooling), not inside any feature.

Design reference: RFC #13, Etapa 3

The closed RFC already designed this: "Teach update-from-template.sh about features. Read .features-enabled, sync features/<name>/code/ into scripts/<name>/ for each enabled feature" — making the existing sync channel feature-aware. docs/adding-a-feature.md records the gap as known ("Etapa 3: update-from-template.sh does not yet read .features-enabled..."). This issue is the tracking item that was missing since the RFC closed with Etapa 1.

Motivating case

PR #82 improves features/agent-comms/code/ask.sh (SCHEMA-grounded preamble). Every host that already enabled agent-comms keeps the old behavior indefinitely unless it does the disable+enable dance — which also churns .github/workflows/, CLAUDE.md markers, and any local edits.

Design notes for the implementer

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