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

openspec new change prints Schema: spec-driven even when config.yaml selects a custom schema

Chiusa Adatta ai principianti
#2,117 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 2 giorni

Una pull request collegata è già stata integrata.

  • #2120 di @surlymochan — integrata

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
84/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
typescript, yaml
Ambito
cli

Direzione di ricerca

Inizia da src/commands/workflow/new-change.ts e dal percorso di selezione dello schema in src/core/root-selection.ts; confrontalo con il percorso di lettura della configurazione in src/commands/workflow/instructions.ts. Verifica sia lo schema visualizzato sia quello salvato in .openspec.yaml quando openspec/config.yaml seleziona uno schema personalizzato, inclusa una verifica di fallback senza override.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Version

1.14.3 (also present on main @ c794978f)

What happens

With schema: <custom-schema> set in openspec/config.yaml, openspec new change <id> prints

Schema: spec-driven

even though artifact resolution (instructions, status) correctly uses the custom schema.

Why (two root causes)

  1. src/commands/workflow/new-change.ts computes the resolved value but persists the raw flag instead:
146:  const resolvedSchema = options.schema ?? root.defaultSchema;   // spinner only
152:  schema: options.schema,                                        // undefined when no --schema
  1. Fixing line 152 alone is not enough: root.defaultSchema is hardcoded to 'spec-driven' and never reflects config.yaml:
// src/core/root-selection.ts:66 (type at :64, same literal at :127)
defaultSchema: 'spec-driven',

The schema configured in config.yaml is only reachable via readProjectConfig(projectRoot)?.schema, the route instructions.ts already takes.

Fix

Resolve from the project config and persist the resolved value:

const projectConfig = readProjectConfig(projectRoot);
const resolvedSchema = options.schema ?? projectConfig?.schema ?? root.defaultSchema;
...
schema: resolvedSchema,

Cosmetic only, but it misleads agents (and humans) auditing which schema a change was created under; I hit exactly that during a custom-schema run. A version-pinned patch with this fix (verified end to end: JSON payload, persisted .openspec.yaml, and text output) lives at https://github.com/cabi/openspec-cdd (patches/ + smoke test S26).

Lingua principale
TypeScript
Stelle
72.3k
Fork
4.9k
Merge medio
2g 10h
PR unite (30g)
72

Preparare l'ambiente

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

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 Fission-AI/OpenSpec

Tutte le issue di Fission-AI/OpenSpec

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.