[Decision D7] Valider les dépendances Go directes restantes #8
Labels
No labels
Agent/Autonomous OK
Agent/Demeter
Agent/Hermes
Agent/Human
Agent/Needs Review
Area/API
Area/Auth
Area/CLI
Area/Data
Area/Docs
Area/Infra
Area/UI
CI/Failing
CI/Flaky
CI/Green
CI/Needs Runner
CI/Needs Workflow
Compat/Backward Compatible
Compat/Breaking
Compat/Migration
Deploy/Ansible
Deploy/Blocked
Deploy/Homelab
Deploy/Needs Config
Deploy/Needs Secret
Deploy/Ready
Deploy/Rollback
Kind/Bug
Kind/Chore
Kind/Design
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Refactor
Kind/Security
Kind/Spike
Kind/Testing
Ops/Backup
Ops/Incident
Ops/Maintenance
Ops/Monitoring
Ops/Upgrade
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Priority
Someday
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Risk
Critical
Risk
High
Risk
Low
Risk
Medium
Security/Auth
Security/Disclosure
Security/Hardening
Security/Secret
Size
L
Size
M
Size
S
Size
XL
Size
XS
Stack/Ansible
Stack/Docker
Stack/Forgejo
Stack/Hermes
Stack/Node
Stack/Postgres
Stack/Python
Stack/Systemd
Status
Abandoned
Status
Blocked
Status
In Progress
Status
In Review
Status
Need More Info
Status
Ready
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
2027a/auroscope#8
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
MODE: DECISION
Statut
Proposé. Réponse puis go explicite avant clôture.
Question
Quelles dépendances directes sont justifiées au-delà du pilote SQLite ?
Proposition
github.com/pelletier/go-toml/v2Pour un
config.tomllisible et strict. Les clés inconnues sont des erreurs. Les commandes configurées sont des tableaux argv.github.com/mattn/go-shellwords v1.0.14Uniquement pour
$VISUAL/$EDITORavec arguments. Expansion d’environnement et backticks désactivés; le chemin du rapport est ajouté comme argument séparé; aucunsh -c.Aucune dépendance pour
go:embed;encoding/json,DisallowUnknownFields, bornes et validation sémantique;Alternative zéro dépendance
JSON pour config et interprétation maison de
$EDITOR. Moins de modules, mais UX pauvre ou réimplémentation fragile.Alternative frameworks
CLI/config/migration/LLM frameworks. Plus commodes, mais surface et abstractions injustifiées.
Recommandation
Accepter les deux petites dépendances ciblées et refuser les frameworks. Toute nouvelle dépendance future exige un besoin et un ADR si structurante.
Réponse attendue
Accepte l’ensemble ou amende dépendance par dépendance. Clôture seulement après ton go.
Documentation
Protocole automatique de décision
GO DECISIONn’autorise ni code de production ni plan d’implémentation; ce travail doit avoir son propre ticketMODE: EXECUTION.Ensemble accepté. Go
Ticket classé comme décision humaine. La discussion continue ici, mais aucune implémentation ni ADR accepté ne sera produit tant que Mathieu n’aura pas publié exactement
GO DECISIONdans un commentaire distinct.Bien reçu. Ma recommandation actuelle reste d’accepter l’ensemble tel que proposé :
github.com/pelletier/go-toml/v2pour une configuration TOML lisible avec rejet strict des clés inconnues ;github.com/mattn/go-shellwords v1.0.14uniquement pour découper$VISUAL/$EDITOR, sans expansion d’environnement, sans backticks et sanssh -c;Face à l’option zéro dépendance, ces deux modules évitent soit une UX de configuration moins bonne, soit un parseur d’éditeur maison fragile. Face aux frameworks, ils gardent une surface étroite et auditable.
Ton commentaire confirme l’orientation, mais il ne déclenche pas l’acceptation déterministe : si tu veux consigner cette décision, publie
GO DECISIONexactement, seul dans un commentaire distinct.GO DECISION
Convention de finalisation concurrente : utilise le numéro du ticket comme numéro ADR sur quatre chiffres (
#N→NNNN-*.md). Ne choisis pas « le prochain numéro libre » et ne renumérote aucun ADR; cette règle évite les collisions entre décisions validées en parallèle.Décision D7 consignée et vérifiée.
docs/decisions/0008-minimal-direct-go-dependencies.md64f2afb7dec187738644b48964c537a3b6bc1bedgo test ./...réussies pourgo-toml/v2 v2.4.3etgo-shellwords v1.0.14; liens Markdown relatifs résolus;git diff --checkpropre; PR déclarée fusionnable.La décision reste bornée au design : aucun code de production ni plan d’implémentation n’a été créé.