devflow-cli 10.0.0__py3-none-any.whl → 10.0.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
devflow_cli/__init__.py CHANGED
@@ -1,6 +1,6 @@
1
1
  """devflow CLI — workflow de développement adaptatif."""
2
2
 
3
- VERSION = "10.0.0"
3
+ VERSION = "10.0.1"
4
4
 
5
5
  ACTIVITY_LINEAR_MAPPING = {
6
6
  "assess": "Backlog",
@@ -59,6 +59,19 @@ PROTECTED_VALIDATION_CONSTRAINT = (
59
59
  "Toute validation protegee est bloquante et doit reussir en code 0 : une recherche "
60
60
  "dont l'absence de correspondance est le resultat attendu ne s'exprime pas ainsi."
61
61
  )
62
+ # KKS-554 (D1) : verify tire la preuve de cette liste ; un plan qui ne controle que
63
+ # le document produit laisse le lot sans test.
64
+ VALIDATION_PLAN_ROLE_CONSTRAINT = (
65
+ "validationPlan est la liste que verify executera apres implement pour produire "
66
+ "la preuve : y lancer les tests du lot (suite du projet et tests cibles), ne pas "
67
+ "y controler le document produit par cette activite, et n'y mettre aucune "
68
+ "commande vouee a echouer apres implement (par exemple git diff --exit-code)."
69
+ )
70
+ # KKS-554 (D3) : verify refuse un diff que git diff --check signale.
71
+ FILE_ENDING_CONSTRAINT = (
72
+ "Chaque fichier cree ou modifie se termine par un seul saut de ligne, sans espace "
73
+ "en fin de ligne : git diff --check doit etre propre avant la sortie structuree."
74
+ )
62
75
 
63
76
  PREFLIGHT_HEADINGS = (
64
77
  "faits observes", "source", "reproductibilite", "perimetre",
@@ -343,6 +356,7 @@ def build_activity_contract(
343
356
  constraints.append(
344
357
  "Les commandes de test Maven ne peuvent pas etre silencieuses : ne pas utiliser -q ni --quiet sur test ou verify, le bilan de tests doit rester lisible."
345
358
  )
359
+ constraints.append(VALIDATION_PLAN_ROLE_CONSTRAINT)
346
360
  completion_criteria.append(
347
361
  "Un validationPlan executable et portable est fourni."
348
362
  )
@@ -398,6 +412,7 @@ def build_activity_contract(
398
412
  "Pour npm, pnpm, yarn ou bun, utiliser uniquement test, un script dont le nom commence par test, check, lint, verify ou build, ou le controle non mutatif format:check; ne jamais lancer un script format qui ecrit les fichiers.",
399
413
  "rg est autorise pour les inspections en lecture seule, sans option --pre.",
400
414
  *validation_policy_guidance(),
415
+ VALIDATION_PLAN_ROLE_CONSTRAINT,
401
416
  *([PROTECTED_VALIDATION_CONSTRAINT] if state.guardrails else []),
402
417
  ]
403
418
  completion_criteria = [
@@ -414,6 +429,7 @@ def build_activity_contract(
414
429
  "Suivre les conventions et les tests existants du depot.",
415
430
  "Les preuves de gate sont produites par l'activite locale verify, pas par implement.",
416
431
  "Ne pas retourner blocked uniquement parce qu'une validation d'integration exige un service externe inaccessible depuis le sandbox de l'agent (Docker, base de donnees ou reseau) : executer les autres controles, declarer le check echoue et le risque restant, puis retourner completed si le code est coherent et verifiable par verify.",
432
+ FILE_ENDING_CONSTRAINT,
417
433
  ]
418
434
  completion_criteria = [
419
435
  "Le changement demande est implemente dans le depot.",
@@ -102,7 +102,9 @@ def validation_policy_guidance() -> list[str]:
102
102
  "aucune expression non resolue de type double accolade dans une commande.",
103
103
  "Un executable hors liste, dont docker, requiert une approbation explicite "
104
104
  "pour la validation exacte avant son execution : renseigner approvalReason "
105
- "dans validationPlan, puis faire approuver son identifiant par le superviseur.",
105
+ "dans validationPlan, puis faire approuver son identifiant par le superviseur. "
106
+ "Un script du depot invoque par son chemin (par exemple ./tests/run-tests.sh) "
107
+ "est un executable hors liste et exige approvalReason.",
106
108
  "Pour un fichier cree par l'activite, ne pas utiliser git ls-files "
107
109
  "--error-unmatch : un fichier non indexe serait refuse a tort. "
108
110
  "Verifier sa presence dans le systeme de fichiers, par exemple avec "
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: devflow-cli
3
- Version: 10.0.0
3
+ Version: 10.0.1
4
4
  Summary: Spec-Driven Development workflow CLI
5
5
  Project-URL: Homepage, https://github.com/sopequenoteck/devflow
6
6
  Project-URL: Repository, https://github.com/sopequenoteck/devflow
@@ -1,4 +1,4 @@
1
- devflow_cli/__init__.py,sha256=OakRRdr7kPxep-ZpIlthk20vQ4WnMMv-4bu452iiyrM,871
1
+ devflow_cli/__init__.py,sha256=02pug78rvWnHvVFUZ4RtgU8ai09l4ofQA94OiCUg-RI,871
2
2
  devflow_cli/cli.py,sha256=DVLx3wr1Hulke2qxhgHsEvvprRuO7SVETui_VGPNQv4,1983
3
3
  devflow_cli/adapters/__init__.py,sha256=z1J7_YJHcgak2a6dTZpOUKKwf-K7UwRqGzS8XY9duC0,299
4
4
  devflow_cli/adapters/agents.py,sha256=-9zmNlFmQfP2pOGxA3_SSKij8ScR76J4-sgv4GMBWEI,18530
@@ -15,7 +15,7 @@ devflow_cli/commands/status.py,sha256=Votdh_sZkRuC_iui1krrdXE9cZ5dpY2OO2au4PVa7I
15
15
  devflow_cli/commands/upgrade_cmd.py,sha256=7GYe1T7SWzkDSYW9x1G-Dznw9qwKT2uI1gJUcWr9_2M,6093
16
16
  devflow_cli/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
17
  devflow_cli/core/activity_base.py,sha256=eEC_YIr5O7WhCglA7xAEPypVzhcdC6f2h9d-SDDecVA,20475
18
- devflow_cli/core/activity_contracts.py,sha256=oN8ATaRhsEz-o4PhdX9ASwpCooXK0Wo_wExmWXkiRCY,39406
18
+ devflow_cli/core/activity_contracts.py,sha256=Sxu7b6lBQNNrtid0D3b9az8zPI8W4UHVgTQsNc0Y2uI,40328
19
19
  devflow_cli/core/adaptive_runner.py,sha256=Znc53MmtFC2iWLR-6IjwVFtViKyY7J6oWJn_HRp2Xk0,44686
20
20
  devflow_cli/core/adaptive_workflow.py,sha256=DU8iciNOeEDco5uwQUeX9E9Kc2WwaVPoRfWxdpRJyJ4,14416
21
21
  devflow_cli/core/agent_failure.py,sha256=iX4q249lAHeVdD_ZF1aObmU-FX6sjfYP9dfLSnWGAD0,3771
@@ -39,7 +39,7 @@ devflow_cli/core/telemetry.py,sha256=FVR4iU9ywXIPo_5wrqWufpsp3GmHVLYiWaReaZ_DebM
39
39
  devflow_cli/core/traceability.py,sha256=jfNE9MZzGkmaPer9Wa6Y18yA9Y3sqdeR-nzH9h_TB-8,2968
40
40
  devflow_cli/core/validation_approvals.py,sha256=3AHOpnW3BtY3BQrRZr38K7VNYRvbxGNhmQRYAufyhSA,9279
41
41
  devflow_cli/core/validators.py,sha256=fREjEx2fBW36q3vB6WJNqoGUM9ejYlQUXie5A9lNuPs,7440
42
- devflow_cli/core/verification.py,sha256=NydWcoOlgaQXz4cHWUd3eUKDI97QGEWvM6kohW9kQlY,20196
42
+ devflow_cli/core/verification.py,sha256=3_iGhsXNFCs5cpBUyBCRTsmRsfuBAVa38lRgy-LXXww,20349
43
43
  devflow_cli/core/waivers.py,sha256=0w38Osjr69mDT6Lsn0ljkaq6bbggVejuhqiOnYHabs4,5586
44
44
  devflow_cli/core/worklog.py,sha256=NedQaNrydudJ_uN3bCyo7n3plAcU1-4bYcK3WbLnu9E,15834
45
45
  devflow_cli/core/worktree_snapshot.py,sha256=Q2_KTkhJTGvdM6Ay4RK9OHkyPEMrHQRTb-f-Eptek-8,5255
@@ -55,8 +55,8 @@ devflow_cli/utils/strings.py,sha256=bfFXCwBDnFxshgZOYfy6mtysnjiaWO1wFnqBf7HLg4o,
55
55
  devflow_cli/resources/commands/devflow.md,sha256=R_8oExTiK2oE5-7YycePFbUeu3tpkyMpsvXVZHAegYM,2899
56
56
  devflow_cli/resources/commands/devflow.status.md,sha256=tqjQ1IboU99ztG6C4nunBHGJCvMn3qDqx3AoF4SPjCk,338
57
57
  devflow_cli/resources/templates/constitution-template.md,sha256=uSzNuwF-xIRx8cHt9gloynRjNgDGmnN5z2Xck6fCOsI,2102
58
- devflow_cli-10.0.0.dist-info/METADATA,sha256=L_0krfNkRokG-k3h7LHTxyvo7CB1Eh9IIOnsijZUrZ0,10116
59
- devflow_cli-10.0.0.dist-info/WHEEL,sha256=W3fkpkm7-wf9vBI5Z-7s0eWkeM-spu78I8Neb98DeEg,87
60
- devflow_cli-10.0.0.dist-info/entry_points.txt,sha256=GVJ6bMvFpqyO5589iC4nFKeGTpGIW8aKn_QPPpSZ6kU,48
61
- devflow_cli-10.0.0.dist-info/licenses/LICENSE,sha256=v79PvnmqOdKhQiOa_QcWxng4q8GuGscLOwi7ygUpwpo,1070
62
- devflow_cli-10.0.0.dist-info/RECORD,,
58
+ devflow_cli-10.0.1.dist-info/METADATA,sha256=8M7oFqF0O-qZjRgfM8WVdj3rEFhD920RBCLmYfKjHDk,10116
59
+ devflow_cli-10.0.1.dist-info/WHEEL,sha256=W3fkpkm7-wf9vBI5Z-7s0eWkeM-spu78I8Neb98DeEg,87
60
+ devflow_cli-10.0.1.dist-info/entry_points.txt,sha256=GVJ6bMvFpqyO5589iC4nFKeGTpGIW8aKn_QPPpSZ6kU,48
61
+ devflow_cli-10.0.1.dist-info/licenses/LICENSE,sha256=v79PvnmqOdKhQiOa_QcWxng4q8GuGscLOwi7ygUpwpo,1070
62
+ devflow_cli-10.0.1.dist-info/RECORD,,