Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[Feature]: Let a project declare optional components absent by choice, so fw doctor stays green and readable

Aperta
#98 4 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
45/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
shell, yaml
Ambito
cli, devops, tooling

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

area:doctor enhancement severity:low status:in-progress triaged
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) plus WARN usage: recall and WARN [host] embed endpoint not reachable. lib/config.sh only 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 are sidecar-sweep-5m and index-reindex-hourly);
  • WARN Sidecar watcher live but INERT: TermLink absent and WARN [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
  1. One project-level switch per optional component in .framework.yaml, read by fw doctor and fw audit, for example SEMANTIC_INDEX: 0, UI_TESTS: 0, SIDECAR: 0. When off, the related checks print SKIP <name> (disabled in .framework.yaml) and do not count toward the exit code.
  2. MESSAGING_TOOLKIT: 0 also implies no sidecar autostart and no sidecar-sweep-5m job (or SIDECAR: 0 as its own key, documented next to it).
  3. fw cron generate leaves out jobs whose component is off, so fw cron install installs only what is used.
  4. fw upgrade keeps these keys, as it already keeps MESSAGING_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=0 in 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

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di DimitriGeelen/agentic-engineering-framework

Tutte le issue di DimitriGeelen/agentic-engineering-framework

Issue simili

Altre issue su Shell/Bash

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.