How sassine/sdd-desafio works
Purpose and Delivery Model
This is a Spec-Driven Development challenge repository, not an implemented application. Participants fork it and produce a documented, traceable reimbursement-engine project. The central deliverable is the specification and its evidence trail; working code is secondary.
Core entry documents:
• DESAFIO.md defines the exercise and reimbursement-policy problem.
• RUBRICA.md defines evaluation criteria.
• README.md provides the workflow and required final repository shape.
Input and Domain Boundary
The reimbursement policy is intentionally ambiguous. The participant must derive explicit business rules, decisions, and acceptance criteria rather than seek clarification.
Reference input is:
• exemplos/despesas-exemplo.json
This JSON is the canonical sample expense dataset to inspect before designing rules, validations, classifications, reimbursement calculations, and expected outcomes.
Specification-First Workflow
The repository supplies a reusable project skeleton under:
• template/specs/001-motor-reembolso/spec.md
• template/specs/001-motor-reembolso/plan.md
• template/specs/001-motor-reembolso/tasks.md
• template/specs/001-motor-reembolso/DECISIONS.md
The intended flow is: interpret policy and sample data → write the product specification → select implementation design → decompose into numbered tasks with acceptance criteria → implement and test only against those tasks.
Decision and Change Control
Ambiguities are a first-class architectural input. Decisions must be explicit, justified, and retained in:
• template/specs/001-motor-reembolso/DECISIONS.md
• template/specs/001-motor-reembolso/spec.md
A mandatory Day-2 requirement change tests whether the specification can absorb changed policy without losing traceability. The decision log is the boundary between original requirements, interpretations, and later revisions.
Traceability and Execution Governance
Commits are governed by task IDs: no implementation commit should exist without a corresponding task. The required chain is specification → task → commit → test/result.
Agent collaboration conventions are seeded in:
• template/CLAUDE.md
Claude Code conversations must be exported and committed under the eventual docs/sessions/ directory, making the reasoning process auditable alongside code and documents.
Expected Generated Project
After copying the template, the participant’s fork should add root-level CLAUDE.md, specs/, and docs/, then create src/ and tests/. The final project is expected to expose a reimbursement engine, though this starter repository contains no runtime, source code, test framework, database, web service, or deployment infrastructure.
The final report is based on:
• template/docs/RELATORIO.md
It should connect the implemented outcome, specification decisions, changes, tests, commits, and exported sessions.
Main entry points: spec.md Product specification · tasks.md Numbered tasks · DECISIONS.md Decision log · RELATORIO.md Final report
Components 14
Challenge Starter
Documents and templates supplied to participants.
- Challenge brief · Defines the reimbursement-policy problem.
DESAFIO.md - Evaluation rubric · Defines how the submission is evaluated.
RUBRICA.md - Workflow guide · Defines workflow and required final repository shape.
README.md - Sample expenses · Canonical dataset used to derive rules and expected outcomes.
exemplos/despesas-exemplo.json - Agent conventions · Seeds auditable Claude Code collaboration practices.
template/CLAUDE.md
Specification Workflow
Traceable artifacts produced from policy interpretation.
- Product specification · Captures rules, validations, classifications, and acceptance criteria.
template/specs/001-motor-reembolso/spec.md - Decision log · Records interpretations, justifications, and policy revisions.
template/specs/001-motor-reembolso/DECISIONS.md - Implementation plan · Selects the implementation design.
template/specs/001-motor-reembolso/plan.md - Numbered tasks · Decomposes delivery into tasks with acceptance criteria.
template/specs/001-motor-reembolso/tasks.md
Participant Delivery
Artifacts added in the completed fork.
- Reimbursement engine · Implements approved reimbursement policy behavior.
- Tests and results · Verifies implementation against task acceptance criteria.
- Task-linked commits · Implementation commits must reference a corresponding task.
- Exported sessions · Committed Claude Code conversations preserve reasoning evidence.
- Final report · Connects outcome, decisions, changes, tests, commits, and sessions.
template/docs/RELATORIO.md
Connections 19
- Challenge brief → Product specification: policy problem
- Evaluation rubric → Product specification: evaluation expectations
- Workflow guide → Product specification: required workflow
- Sample expenses → Product specification: derive rules from
- Sample expenses → Decision log: resolve ambiguities from
- Product specification → Decision log: records interpretations
- Decision log → Product specification: revisions update
- Product specification → Implementation plan: drives design
- Implementation plan → Numbered tasks: decomposes into
- Product specification → Numbered tasks: acceptance criteria
- Numbered tasks → Reimbursement engine: authorizes implementation
- Numbered tasks → Task-linked commits: governs
- Reimbursement engine → Tests and results: verified by
- Numbered tasks → Tests and results: expected outcomes
- Agent conventions → Exported sessions: requires export
- Task-linked commits → Final report: reported in
- Tests and results → Final report: reported in
- Decision log → Final report: reported in
- Exported sessions → Final report: audit evidence