Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions .github/MISSIONS/roadmap-2026-05-12-sprint-n4-hardening.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Mission File: roadmap-2026-05-12-sprint-n4-hardening

Parent_Agent: roadmap-steward
Child_Agent: asset-factory
Mission_Objective: Executar hardening de maturidade N4 em 1 sprint, reduzindo retrabalho via cobertura de evals, auditoria contínua e memória operacional com evidência.
Context_Links:

- ROADMAP.md
- registry.json
- .github/workflows/marketplace-integrity.yml
- .github/scripts/validate-mission-protocol.sh
- library/standards/governance-maturity-model.md
- library/github-baseline/MEMORY.md

Success_Criteria:

- Cobertura de diretórios de eval com casos >= 90% (14 diretórios, mínimo 13 com ≥1 caso).
- Auditoria contínua em PR com sinalização por severidade e bloqueio para severidade alta.
- MEMORY.md com ao menos 2 entradas reais do sprint (ID, data, owner, impacto, evidência, status).
- Atualização de ROADMAP.md com no máximo 3 itens ativos e critérios testáveis em CI.

Result_Payload:

- Ajustes em library/evals/\* para agentes sem suíte (agent-factory, issue-ops-architect, rule-distiller).
- Evidência de auditoria contínua integrada ao workflow de PR (resumo de severidade, OR bloqueador).
- Entradas de MEMORY.md do ciclo com template correto.
- ROADMAP.md atualizado refletindo foco em N4.
- Resumo final do Roadmap Steward com trade-offs, riscos residuais e checkpoints próximos.

---

## Decision Log Summary

- **Priorização coerente**: consolidar N4 antes de expandir para Swift/automações avançadas reduz risco de fragmentação.
- **Foco operacional**: 3 itens (evals + auditoria + memória) são escopo realista para 1 sprint com 1–2 pessoas.
- **Rastreabilidade**: mission protocol gate já existe; esta sprint materializa a prática com missão explícita.
- **Trade-off aceito**: curto prazo: menos velocidade em features novas; longo prazo: menos retrabalho e maior confiança operacional.

---

## Risks & Trade-offs

| Risco | Severidade | Mitigação |
| ------------------------------------------------- | ---------- | -------------------------------------------------------------------------------- |
| Sobrecarga operacional em time small | Média | Critérios binários em CI; não exigir perfeccionismo em evals de primeira versão. |
| Cobertura de evals pode ser genérica inicialmente | Média | Review gate obrigatório; iteração rápida em ciclo seguinte com feedback real. |
| MEMORY.md requer disciplina contínua | Baixa | Atribuir ownership ao context-steward; review semanal enxuta (15 min max). |
| Auditoria pode gerar falsos positivos | Média | Usar regras simples na primeira versão; refinar baseado em experiência. |

---

## Delivery Target

- **Draft desta missão**: 2026-05-12
- **Execução esperada**: 2026-05-19 a 2026-05-26 (1 sprint)
- **Próximo checkpoint (validação)**: 2026-05-26
- **Próxima varredura de maturidade**: 2026-06-09 (pós-sprint + stabilização)
232 changes: 232 additions & 0 deletions .github/MISSIONS/roadmap-2026-05-26-sprint-n5-locale-sync.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,232 @@
# Mission File — Sprint N5: Locale Sync & L4 Stabilization

**Mission ID:** `MISSION-N5-2026-05-26`
**Sprint:** N5 — Locale Sync & L4 Stabilization
**Duration:** 2026-05-26 to 2026-06-09 (2 weeks)
**Status:** Approved & Active
Comment on lines +3 to +6

Parent_Agent: roadmap-steward
Child_Agent: documentation-steward
Mission_Objective: Stabilize Level 4 (Self-Auditable) by eliminating locale drift between English and Portuguese documentation, operationalizing sync automation in CI, and updating governance docs to reflect current maturity status.
Context_Links:
- ROADMAP.md
- .github/MISSIONS/roadmap-2026-05-12-sprint-n4-hardening.md
- .github/workflows/marketplace-integrity.yml
- library/github-baseline/MEMORY.md
Success_Criteria:
- PT-BR documentation in sync with EN (0 content divergences)
- Locale-specific issues corrected
- Governance docs reflect L4 as "In Progress"
- Locale sync validation in CI
- PR declaration requirement for locale sync enforced
Result_Payload:
- List of divergences found and fixed
- Updated governance documentation blocks
- CI locale sync validation evidence
- Decision log with traceable rationale

---

## Mission Objective

Stabilize **Level 4 (Self-Auditable)** by eliminating locale drift between English and Portuguese documentation, operationalizing sync automation in CI, and updating governance docs to reflect current maturity status.

**Why This Matters:**

- Post-N4 audit identified documentação PT-BR dessincronizada (typos in Spanish, stale L4 references)
- Sync automation (`sync-locales.prompt.md`) exists but was never operationalized
- Docs claim "L4 is Next Goal" even though it's now "In Progress"
- Without automated sync validation, drift will accumulate with every PR

**Outcome:** Repositories and teams can trust documentation as source of truth; locale sync is automated and validated.

---

## Parent Agent & Delegation

- **Parent Agent:** `@roadmap-steward`
- **Child Agents:**
- `@documentation-steward` — Tasks 1 & 2
- `@project-auditor` — Task 3

---

## Success Criteria (Definition of Done)

- ✅ PT-BR documentation is fully in sync with EN (0 content divergences)
- ✅ All locale-specific issues corrected ("Ejecute" → "Execute", L4 status updated, etc.)
- ✅ Governance docs (governance-maturity-model.md, zero-inertia-command.md) reflect L4 as "In Progress"
- ✅ Locale sync validation step deployed in CI (marketplace-integrity.yml or new workflow)
- ✅ CI blocks PRs that lack valid locale sync declaration
- ✅ Manual testing confirms sync step works as specified
- ✅ ROADMAP.md updated: N5 marked "✅ Completed", next sprint (N6) outlined
- ✅ MEMORY.md receives entry: MEM-20260513-01 documenting N5 approval & completion

---

## Context Links

- **Audit Report:** Generated 2026-05-13 post-N4 completion
- **Gap Analysis:** 2 HIGH gaps (PT-BR drift, sync automation missing) + 2 MEDIUM gaps
- **Maturity Status:** L4 threshold met (100% eval coverage, CI audit operational); entering stabilization phase
- **Previous Mission:** [N4 Hardening](roadmap-2026-05-12-sprint-n4-hardening.md)

---

## Tasks Breakdown

### Task 1: Execute sync-locales & Validate PT-BR Coherence

**Owner:** `@documentation-steward`
**Acceptance Gate:** Before Task 2 starts

**What to do:**

1. Run comprehensive audit of `docs/en/` vs `docs/pt-br/` using sync-locales.prompt.md
2. Identify and fix all divergences (content, structure, locale-specific issues)
3. Correct known issues:
- "Ejecute" (Spanish) → "Execute" (Portuguese) in zero-inertia-command.md
- L4 status references update: "🎯 Next Goal" → "🚧 In Progress"
4. Validate structure mirrors: EN examples ↔ PT-BR examples

**Output Contract:**

- List of all divergences found (with locations)
- Corrected file blocks (ready to paste)
- Validation table (File | Status: Aligned/Fixed)
- Decision log (each change + reasoning)

**PASS Criteria:**

- No Spanish words in PT-BR locale
- All L4 references show "In Progress" (not "Next Goal")
- EN and PT-BR structures identical
- All links valid
- Decision log complete

---

### Task 2: Update Governance Docs to Reflect L4 Status

**Owner:** `@documentation-steward`
**Prerequisite:** Task 1 complete
**Acceptance Gate:** Before Task 3 starts

**What to do:**

1. Update L4 status in `library/standards/governance-maturity-model.md`:
- Change "🎯 Next Goal" → "🚧 In Progress"
- Add note: "Eval coverage 100%, CI audit operational, entering stabilization phase"
2. Update `docs/en/zero-inertia-command.md` (and sync PT-BR):
- Mention L4 achievement in appropriate section
- Update any stale references to L4 timeline
3. Update `ROADMAP.md`:
- Add closure note for N4 sprint
- Clearly mark N5 as current sprint
- Outline N6 in backlog (as placeholder)

**Output Contract:**

- Updated content blocks for each file
- Before/after comparison
- Grep confirmation: "Next Goal" removed, "In Progress" inserted
- Timestamp: 2026-05-13 (decision date)
- Decision log

**PASS Criteria:**

- All 3 files updated
- L4 shows "In Progress", L5 stays "Vision"
- Timestamp + decision note in each file
- No broken Markdown syntax
- No new broken references

---

### Task 3: Operationalize Locale Sync Validation in CI

**Owner:** `@project-auditor`
**Prerequisite:** Task 2 complete
**Acceptance Gate:** Manual test confirms functionality

**What to do:**

1. Extend `.github/workflows/marketplace-integrity.yml` with new step: "Locale Sync Validation (PR)"
- Or create new workflow if appropriate
2. Step should validate:
- Files in `docs/en/` have PT-BR equivalents (and vice versa)
- No Spanish text in EN locale (sanity check)
- Files contain valid locale sync declaration block
3. Report divergences as PR annotations (specific paths)
4. Behavior:
- **PASS:** All checks clear → exit code 0
- **FAIL:** Divergence or missing declaration → exit code 1 (blocks PR)

**Output Contract:**

- YAML step definition (ready to paste)
- Shell/Python script for checks (inline or as .github/scripts/)
- Example PASS/FAIL run output
- Test evidence (actual run results)

**PASS Criteria:**

- Step runs on every PR touching `docs/` or `library/examples/`
- Detects missing PT-BR equivalents
- Detects stale locale declarations
- Blocks PR on HIGH divergences
- Manual test run confirms works correctly
- Decision log complete

---

## Risk Mitigation

| Risk | Severity | Mitigation |
| --------------------------------------------------- | -------- | --------------------------------------------------------------------------------------------- |
| PT-BR sync uncovers more drift than expected | Medium | Work in parallel (Tasks 1 & 2); cap extra findings at 2h, defer rest to N6 |
| CI validation step has edge cases | Medium | Thorough testing on branch; fallback: disable on initial merge, re-enable after manual review |
| Locale declaration format becomes point of friction | Low | Standardize early (YAML comment block), document in contributing guidelines |

---

## Delivery Target

**Delivery Date:** 2026-06-09
**Merge Criteria:**

- All 3 tasks PASS
- ROADMAP.md updated (N5 "✅ Completed", N6 outlined)
- MEMORY.md entry created (MEM-20260513-01)
- PR approved by roadmap-steward + documentation-steward

---

## Decision Log

| Date | Agent | Decision | Context |
| ---------- | --------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| 2026-05-13 | roadmap-steward | **Sprint N5 approved** | Post-N4 audit identified 2 HIGH gaps (PT-BR sync, sync automation). N5 addresses both + updates docs. Master prompt provided. |
| 2026-05-13 | roadmap-steward | **Sync automation priority elevated** | Was in backlog; moved to current sprint due to HIGH impact on trust/docs quality. |
| 2026-05-13 | roadmap-steward | **L4 status updated to "In Progress"** | 100% eval coverage achieved, CI audit operational. Level 4 threshold met; now in maturation phase. |
| 2026-05-13 | roadmap-steward | **Entry gate for Swift clarified** | Defer until 2 stable sprints post-L4 (N5 + N6). Reduces ambiguity; explicit criteria: "zero regressions in L4 gates." |

---

## Next Actions (After N5 Completion)

1. **Sprint N6 Planning** (2026-06-09):
- Re-audit maturity post-N5
- Evaluate Swift readiness (has 2-sprint stabilization gate been met?)
- Plan N6 scope (documentation automation, Swift expansion, or other)

2. **Ongoing:**
- Maintain MEMORY.md entries (≥1 per sprint)
- Keep ROADMAP.md current
- Monitor L4 gates for regressions

---

**Mission File Version:** 1.0.0
**Last Updated:** 2026-05-13
**Status:** Active & Approved
88 changes: 88 additions & 0 deletions .github/workflows/marketplace-integrity.yml
Original file line number Diff line number Diff line change
Expand Up @@ -114,3 +114,91 @@ jobs:
echo ""
echo "Use the Registry Schema Governor to transform sync output into ready-to-paste JSON snippets."
} >> "$GITHUB_STEP_SUMMARY"

- name: Governance Audit — Eval Coverage Report (PR)
if: github.event_name == 'pull_request'
run: |
python3 - <<'PYEOF'
import json
import os
import sys

EVALS_DIR = "library/evals"
REGISTRY_FILE = "registry.json"
SEVERITY_HIGH = "HIGH"
SEVERITY_MEDIUM = "MEDIUM"
SEVERITY_PASS = "PASS"

with open(REGISTRY_FILE, encoding="utf-8") as f:
registry = json.load(f)

registered_agents = list(registry.get("assets", {}).get("agents", {}).keys())

results = []
high_count = 0

for agent_id in sorted(registered_agents):
agent_dir = os.path.join(EVALS_DIR, agent_id)
if not os.path.isdir(agent_dir):
results.append((agent_id, 0, SEVERITY_HIGH, "No eval directory found"))
high_count += 1
continue

cases = [
f for f in os.listdir(agent_dir)
if os.path.isfile(os.path.join(agent_dir, f))
and f.startswith("case-")
and f != ".gitkeep"
and not f.startswith("README")
]
count = len(cases)

has_bad_input = any("bad-input" in f for f in cases)
has_hq_output = any("expected-high-quality" in f or "high-quality" in f for f in cases)

if count == 0:
severity = SEVERITY_HIGH
note = "No eval cases"
high_count += 1
elif not has_bad_input or not has_hq_output:
severity = SEVERITY_MEDIUM
note = f"{count} case(s) — missing {'bad-input' if not has_bad_input else 'expected-high-quality-output'}"
else:
severity = SEVERITY_PASS
note = f"{count} case(s) — covered"

results.append((agent_id, count, severity, note))

summary_lines = [
"### Governance Audit — Eval Coverage",
"",
f"| Agent | Cases | Severity | Note |",
f"|-------|-------|----------|------|",
]
for agent_id, count, severity, note in results:
icon = "🔴" if severity == SEVERITY_HIGH else ("🟡" if severity == SEVERITY_MEDIUM else "✅")
summary_lines.append(f"| `{agent_id}` | {count} | {icon} {severity} | {note} |")

summary_lines += [
"",
f"**Total agents:** {len(registered_agents)} | **High gaps:** {high_count}",
"",
]

if high_count > 0:
summary_lines.append(f"> ⛔ **{high_count} agent(s) have no eval coverage. Add eval cases to `library/evals/<agent-id>/` to resolve.**")

summary_text = "\n".join(summary_lines)
print(summary_text)

github_step_summary = os.environ.get("GITHUB_STEP_SUMMARY")
if github_step_summary:
with open(github_step_summary, "a", encoding="utf-8") as f:
f.write("\n" + summary_text + "\n")

if high_count > 0:
print(f"\nAUDIT|FAIL|eval-coverage|high_gaps={high_count}", file=sys.stderr)
sys.exit(1)

print("AUDIT|PASS|eval-coverage|all-agents-covered")
PYEOF
Loading
Loading