[Feature]: Let a project declare optional components absent by choice, so fw doctor stays green and readable
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 45/100
Direzione di ricerca
Start by reading lib/config.sh and agents/context/sidecar-autostart.sh, then trace how fw doctor, fw audit, and fw cron generate read project configuration. Identify how fw upgrade preserves MESSAGING_TOOLKIT and which cron jobs and checks map to each component. Done means disabled components are skipped in doctor and audit, omitted from generated cron jobs, and kept through upgrades.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem
A consumer project can deliberately run without some optional components. Here: no embedding service (Ollama: memory is tight on the host), no Playwright (no framework UI tests in a consumer), no TermLink and no cross-host messaging, no framework cron (fw cron install needs root and the two seeded jobs serve the components above).
The framework has no way to record that choice, so fw doctor exits 1 forever:
- six FAIL lines for the vector index (
index,manifest,age,lag,canary,token) plusWARN usage: recallandWARN [host] embed endpoint not reachable.lib/config.shonly offers thresholds (INDEX_MAX_AGE_HOURS,RECALL_FAIL_PCT_WARN...), no switch; WARN Playwright pip package missing;WARN Cron registry present but not generated(the seeded jobs aresidecar-sweep-5mandindex-reindex-hourly);WARN Sidecar watcher live but INERT: TermLink absentandWARN [host] TermLink not installed.
MESSAGING_TOOLKIT: 0 (T-4042, thank you) stops the slash commands and scripts, but not the sidecar: the sidecar-autostart SessionStart hook still starts a receiver and two watchers for every session (agents/context/sidecar-autostart.sh); the only opt-outs are the environment variable FW_SIDECAR_AUTOSTART=0, which belongs to the launcher, not to the project, and fw sidecar stop.
A doctor that is always red teaches the operator to stop reading it, and the real failures are lost among the expected ones.
Proposed Solution
- One project-level switch per optional component in
.framework.yaml, read byfw doctorandfw audit, for exampleSEMANTIC_INDEX: 0,UI_TESTS: 0,SIDECAR: 0. When off, the related checks printSKIP <name> (disabled in .framework.yaml)and do not count toward the exit code. MESSAGING_TOOLKIT: 0also implies no sidecar autostart and nosidecar-sweep-5mjob (orSIDECAR: 0as its own key, documented next to it).fw cron generateleaves out jobs whose component is off, sofw cron installinstalls only what is used.fw upgradekeeps these keys, as it already keepsMESSAGING_TOOLKIT.
Subsystem
Task Management
Scope
None
Alternatives Considered
- Install everything: Ollama costs memory the host does not have; Playwright and TermLink serve nothing in this project.
- Live with the red doctor: that is what happens now, and it hides real failures.
FW_SIDECAR_AUTOSTART=0in the launcher: it works for the sidecar only, and the setting then lives outside the project.
Additional Context
1.8.11 (e42aa41bf), vendored consumer, Linux (Ubuntu 20.04, systemd 245), Claude Code. Found during a review of the installation after upgrading from 1.8.6. Related defects found in the same review (smoke test, cron OK, resolver-loop, turn driver) are reported separately; this request is only about declaring components absent.
- Lingua principale
- Shell
- Stelle
- 16
- Fork
- 6
- Merge medio
- 6h 24m
- PR unite (30g)
- 5
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di DimitriGeelen/agentic-engineering-framework
-
area:cli bug severity:low status:fixed-on-bleeding-edge triaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
DimitriGeelen/agentic-engineering-framework#100 · 5 commenti ·
-
area:cli bug severity:medium status:fixed-on-bleeding-edge triaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
DimitriGeelen/agentic-engineering-framework#97 · 5 commenti ·
-
area:context bug severity:low status:accepted triaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
DimitriGeelen/agentic-engineering-framework#96 · 3 commenti ·
-
area:cli bug severity:medium status:accepted triaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
DimitriGeelen/agentic-engineering-framework#95 · 3 commenti ·
-
area:watchtower bug severity:low status:released triaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
DimitriGeelen/agentic-engineering-framework#94 · 4 commenti ·
Tutte le issue di DimitriGeelen/agentic-engineering-framework
Issue simili
-
data only (no code) good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
I maintainer di solito rispondono entro 1 giorno
-
kind/bug needs-triage
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
projectbluefin/common#1521 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
-
upstream-release
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
pypa/advisory-database#401 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno