Triple-backtick inline code at line start opens a phantom code fence and hides the rest of the spec
I maintainer di solito rispondono entro 2 giorni
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 82/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- node.js, typescript
- Ambito
- backend
Direzione di ricerca
Inizia con buildCodeFenceMask in src/core/parsers/code-fence.ts e il test unitario di MarkdownParser menzionato nell’issue. Riproduci il caso in cui una riga inizia con codice inline composto da tre backtick, poi verifica che il parsing mantenga entrambi i requisiti. Il lavoro è completato quando il codice inline non maschera le righe successive e il test di regressione passa.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
What happened
A line in a spec that starts with triple-backtick inline code, e.g. ```openspec validate``` SHALL exit 0, is treated as the opening of a fenced code block. buildCodeFenceMask (src/core/parsers/code-fence.ts) then masks every following line to end of file, so later requirements and scenarios disappear from parsing (validate, show, list, archive).
new MarkdownParser(content).parseSpec('s').requirements.length // 1, the second requirement is gone
What you expected instead
Per CommonMark, a backtick fence's info string cannot contain backticks, so ```npm test``` must pass. is a paragraph with inline code, not a fence. Both requirements should be parsed.
Minimal steps to reproduce
- Create
openspec/specs/demo/spec.md:# Demo ## Purpose Purpose text. ## Requirements ### Requirement: First ```openspec validate``` SHALL exit 0 on a valid change. #### Scenario: ok - **WHEN** valid - **THEN** exit 0 ### Requirement: Second The system SHALL keep this requirement. #### Scenario: kept - **WHEN** parsed - **THEN** present - Run
openspec show demo --json. - Only
Firstis listed.Secondis silently dropped.
OpenSpec version
main @ current HEAD
Coding agent and model
Grok Bot (AI assistant) helped find this; reproduced with a unit test against MarkdownParser.
OS and Node version
Linux, Node 20.19.2
- Lingua principale
- TypeScript
- Stelle
- 72.3k
- Fork
- 4.9k
- Merge medio
- 2g 2h
- PR unite (30g)
- 80
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Ha un 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 Fission-AI/OpenSpec
-
openspec new change prints Schema: spec-driven even when config.yaml selects a custom schemaForse già presa @surlymochan l’ha presa 3 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
Fission-AI/OpenSpec#2117 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
enhancement needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
Fission-AI/OpenSpec#2105 ·
I maintainer di solito rispondono entro 2 giorni
-
[Bug] /opsx:verify accepts a near-equivalent heading as the REMOVED baseline, so a replacement requirement is reported as still implementedForse già presa @surlymochan l’ha presa 4 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
Fission-AI/OpenSpec#2098 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
Fission-AI/OpenSpec#1966 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
feat(schemas): open each proposal with a short review focusForse già presa @GaoSSR l’ha presa 33 giorni fa. Apertadesign-review
Difficoltà 1/5 1-3 ore Idoneità per principianti 90/100
Fission-AI/OpenSpec#1908 ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di Fission-AI/OpenSpec
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 72/100
zts212653/clowder-ai#1678 ·
I maintainer di solito rispondono entro 1 giorno
-
good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
Progressive-Victory/the-website#680 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100