Bilingual post · Post bilíngue
Jump to: English · Português
English {#english}
Sprint 1 Review: Real Diagnostic Spans
Phase 2 walked Mintlify docs, IDE integration, architecture, and dual-mode builds. We end this arc where the sprint discipline started: Sprint 1, release v2.9.9, the first time check reported errors at the line you actually typo'd.
Full ceremony notes: . After :
Peek vs current — logos advances cursor; store span on the token already consumed.
Windows paths — parse: error:suffix, don't splitC:\on every colon.
Quiet check — stderr for IDE, no chattyprintln!duringcheck.
Semantic spans next — don't wait until Sprint 8; S2/S3 extended coverage.
These decisions still govern every diagnostics PR today.
Validate like QA Marina
cargo test
cargo test --test check_diagnostics
Ten-case matrix in check_diagnostics.rs must stay green before any release tag. Adding a parser regression? Drop a .pas fixture + expected line/col — not a screenshot.
Explicit non-goals (accepted debt)
Sprint 1 review acknowledged:
- Horse example smoke 0/9 in local CI — environment, not span logic
- Semantic errors still
1:1— fixed incrementally in S2+ - One ignored shadowing test deferred to Sprint 2
Honest scope let the sprint close on time. Same policy as Sprint 13 build-exe honesty (post 039).
Why this matters for Phase 2 readers
Every doc tour post assumed check you can click on:
- Marketplace extension problem matcher (035)
- Postman doesn't help if Pascal won't compile (036)
- Dual-mode parity tests fail loudly with readable paths (040)
Sprint 1 was small on feature count, huge on trust infrastructure.
Squad decision
Review vote (Rafael): v2.9.9 approved; Sprint 2 (System namespaces) started immediately. That rhythm — one sprint, one tag, one review doc — continues through v2.22.0.
If you contribute diagnostics now, read Sprint 1 fixtures first. Don't reintroduce 1:1 placeholders "temporarily."
Connecting to the sprint roadmap
Sprint 1 sits at the base of . Diff your local branch against that tag if Problems panel behavior regresses — often a merge dropped quiet_diagnostics or reverted last_token_span.
Next in series
Post 042 — Sprint 2 Review: System.* Namespaces picks up where Sprint 1 left off — uses System.SysUtils resolving like Delphi, RTL shims under rtl/sys/, and semantic spans for undefined symbols.
Português {#portugus}
Review Sprint 1: diagnósticos reais
A Fase 2 percorreu docs Mintlify, integração IDE, arquitetura e dual-mode build. Fechamos este arco onde a disciplina de sprint começou: Sprint 1, release v2.9.9, primeira vez que check reportou erros na linha onde você realmente errou.
Ata completa: . Depois do :
Peek vs current — logos avança cursor; guarde span no token já consumido.
Paths Windows — parse sufixo: error:, não splitC:\em todo colon.
Check silencioso — stderr para IDE, semprintln!barulhento nocheck.
Spans semânticos em seguida — não esperar Sprint 8; S2/S3 estenderam cobertura.
Essas decisões ainda governam todo PR de diagnósticos.
Valide como QA Marina
cargo test
cargo test --test check_diagnostics
Matriz de dez casos em check_diagnostics.rs deve ficar verde antes de tag de release. Regressão de parser? Fixture .pas + linha/col esperada — não screenshot.
Non-goals explícitos (débito aceito)
O review Sprint 1 reconheceu:
- Smoke Horse 0/9 no CI local — ambiente, não lógica de span
- Erros semânticos ainda
1:1— corrigidos incrementalmente em S2+ - Um teste de shadowing ignorado — deferido ao Sprint 2
Escopo honesto permitiu fechar no prazo. Mesma política de honestidade do build-exe Sprint 13 (post 039).
Por que importa para leitores da Fase 2
Cada post do tour assumiu check clicável:
- Problem matcher da extensão Marketplace (035)
- Postman não ajuda se Pascal não compila (036)
- Testes paridade dual-mode falham alto com paths legíveis (040)
Sprint 1 foi pequeno em features, enorme em infraestrutura de confiança.
Decisão da squad
Voto review (Rafael): v2.9.9 aprovada; Sprint 2 (namespaces System) iniciado na hora. Esse ritmo — um sprint, uma tag, um doc de review — continua até v2.22.0.
Se contribuir com diagnósticos hoje, leia fixtures Sprint 1 primeiro. Não reintroduza placeholders 1:1 "temporários".
Conexão com o roadmap de sprints
Sprint 1 fica na base de . Diff branch local contra essa tag se Problems regredir — merge often dropou quiet_diagnostics ou reverteu last_token_span.
Próximo da série
Post 042 — Review Sprint 2: namespaces System.* continua onde Sprint 1 parou — uses System.SysUtils resolvendo como Delphi, shims RTL em rtl/sys/ e spans semânticos para símbolos indefinidos.
Published on
SOCIAL SHARE CARD GENERATOR