[DTP-Worker 20260812_040034] cleanup #5 · suppression orphelin out_fresh/ (doublon d'artefacts échappant à tous les gates)
frontend/portails/out_fresh/ (workspace.json + MANIFEST.json) était tracké mais
commité par accident une seule fois (f954cc1, 2026-08-02, scratch « fresh rebuild ») :
byte-identique à out/, produit par RIEN (le générateur n'écrit que dans out/ via
_DEFAULT_OUT), référencé NULLE PART (git grep out_fresh = 0). Il échappait à
check_artifacts (find -type d -name out = match EXACT sur `out`, jamais `out_fresh`)
donc au balayage reverse-bijection → bombe de staleness silencieuse (rien ne le
régénère : dès que la source bouge, out/ se met à jour et out_fresh/ diverge en copie
stale non-possédée). Suppression (out/ intacte, régénère byte-identique). Occurrence
isolée → pas de gate (#5). Candidat is_filled() écarté au byte-level (non-défaut, #6).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,94 +0,0 @@
|
||||
{
|
||||
"generated_from": "rbac_50_roles.json (permissions_cibles + portail par rôle)",
|
||||
"spec_version": "1.0.0",
|
||||
"source_version": "1.0.0",
|
||||
"roadmap_ref": "04_roadmap/ROADMAP_8_WEEKS_OR_LESS.md · Sprint 4 l.49 « Frontend Console : 5 portails (Ventes/Construction/Achat/Compta/Direction) »",
|
||||
"counts": {
|
||||
"workspaces": 5,
|
||||
"roles_couverts": 44,
|
||||
"liens_total": 53,
|
||||
"raccourcis_total": 20
|
||||
},
|
||||
"brand": {
|
||||
"note": "Tokens de marque luxury dark+doré (CLAUDE.md #4). Appliqués par la couche thème desk (Website Theme / CSS custom) déposée par l'agent Frontend sur le VPS — HORS de ce worker (#8). Repris ici pour le hand-off, jamais fabriqués.",
|
||||
"fond": {
|
||||
"valeur": "#0a0a12",
|
||||
"source": "CLAUDE.md #4"
|
||||
},
|
||||
"accent": {
|
||||
"valeur": "#f0b429",
|
||||
"source": "CLAUDE.md #4"
|
||||
},
|
||||
"polices": [
|
||||
{
|
||||
"valeur": "Fraunces",
|
||||
"source": "CLAUDE.md #4"
|
||||
},
|
||||
{
|
||||
"valeur": "Cormorant Garamond",
|
||||
"source": "CLAUDE.md #4"
|
||||
}
|
||||
]
|
||||
},
|
||||
"module_note": "Workspace.module laisse a None (a_confirmer) : l'agent ERPNext Backend le fixe au module de l'app OTO a l'import (#8). Le worker ne fabrique pas de nom d'app.",
|
||||
"doctypes_custom_a_creer": [
|
||||
"CONFOTUR Application",
|
||||
"Faisabilité",
|
||||
"Publiciste Log"
|
||||
],
|
||||
"workspaces": [
|
||||
{
|
||||
"portail": "ventes",
|
||||
"workspace": "OTO Ventes",
|
||||
"nb_cartes": 4,
|
||||
"nb_raccourcis": 4,
|
||||
"nb_liens": 11,
|
||||
"nb_roles": 12,
|
||||
"doctypes_custom": [
|
||||
"CONFOTUR Application",
|
||||
"Publiciste Log"
|
||||
]
|
||||
},
|
||||
{
|
||||
"portail": "construction",
|
||||
"workspace": "OTO Construction",
|
||||
"nb_cartes": 4,
|
||||
"nb_raccourcis": 4,
|
||||
"nb_liens": 9,
|
||||
"nb_roles": 10,
|
||||
"doctypes_custom": [
|
||||
"Faisabilité"
|
||||
]
|
||||
},
|
||||
{
|
||||
"portail": "achat",
|
||||
"workspace": "OTO Achat",
|
||||
"nb_cartes": 3,
|
||||
"nb_raccourcis": 4,
|
||||
"nb_liens": 8,
|
||||
"nb_roles": 5,
|
||||
"doctypes_custom": []
|
||||
},
|
||||
{
|
||||
"portail": "compta",
|
||||
"workspace": "OTO Compta",
|
||||
"nb_cartes": 4,
|
||||
"nb_raccourcis": 4,
|
||||
"nb_liens": 11,
|
||||
"nb_roles": 8,
|
||||
"doctypes_custom": []
|
||||
},
|
||||
{
|
||||
"portail": "direction",
|
||||
"workspace": "OTO Direction",
|
||||
"nb_cartes": 4,
|
||||
"nb_raccourcis": 4,
|
||||
"nb_liens": 14,
|
||||
"nb_roles": 9,
|
||||
"doctypes_custom": [
|
||||
"CONFOTUR Application",
|
||||
"Faisabilité"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user