aws-samples / aws-samples/sample-autonomous-cloud-coding-agents

chore: TLA+ formal verification of task state machine

Ouverte
#455 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
enhancement governance P2 validation-loop
Langage dominant
TypeScript
Étoiles
143
Forks
46
Merge moyen
3 j 10 h
PR mergées (30 j)
24

Description

**Context:** ROADMAP.md → Formal verification

---

## Component

Other

## Describe the feature

**TLA+ specification** of the task state machine, concurrency admission, cancellation races, and reconciler interleavings. Optional CI model checking on critical invariants.

## Use case

Subtle races (failTask double-emit #55, admission cap #331) are hard to catch with unit tests alone. Formal methods increase confidence as the state machine grows (PR watcher, queue states).

## Proposed solution

1. TLA+ model in `formal/` or `docs/formal/` mirroring `ORCHESTRATOR.md` state diagram.
2. Invariants: at-most-once terminal emit, concurrency counter consistency, no illegal transitions.
3. TLC model check in CI (nightly or on orchestrator diff).
4. Document mapping from TLA states to code enums.
5. Update when autonomous feedback loop adds states.

## Other information

- Depends on **pure decision function** refactor for tractable model.
- Design context: `docs/design/ORCHESTRATOR.md`.

- [ ] This might be a breaking change

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par docs/design/ORCHESTRATOR.md et le diagramme d’état de ORCHESTRATOR.md, puis examinez la dépendance au refactoring de la fonction de décision pure. Définissez le modèle TLA+ dans formal/ ou docs/formal/, vérifiez les invariants listés avec TLC et documentez la correspondance entre les états TLA et les enums du code. La tâche est terminée lorsque le modèle et les correspondances couvrent la machine à états de la tâche et que le chemin proposé de vérification du modèle par CI est documenté.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
typescript
Domaine
distributed-systems, testing-qa
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.