devflow-kit 3.0.1 → 3.1.0

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.
Files changed (133) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/agents/git.md +2 -2
  3. package/dist/cli/agents-view/index.js +1 -1
  4. package/dist/cli/agents-view/render.js +2 -2
  5. package/dist/cli/agents-view/state.js +2 -2
  6. package/dist/cli/agents-view/terminal.js +5 -5
  7. package/dist/cli/commands/agents.js +7 -6
  8. package/dist/cli/commands/ambient.js +1 -1
  9. package/dist/cli/commands/attribution-prompts.js +8 -8
  10. package/dist/cli/commands/capture.js +1 -1
  11. package/dist/cli/commands/compliance-prompts.js +8 -8
  12. package/dist/cli/commands/compliance.js +8 -7
  13. package/dist/cli/commands/flags.js +33 -31
  14. package/dist/cli/commands/hud.js +1 -1
  15. package/dist/cli/commands/init-seed.js +9 -9
  16. package/dist/cli/commands/init.js +34 -32
  17. package/dist/cli/commands/install-report.js +10 -10
  18. package/dist/cli/commands/learning.js +267 -129
  19. package/dist/cli/commands/memory.js +1 -1
  20. package/dist/cli/commands/proxy.js +23 -23
  21. package/dist/cli/commands/rules.js +6 -5
  22. package/dist/cli/commands/tracker-prompts.js +6 -6
  23. package/dist/cli/commands/tracker.js +9 -9
  24. package/dist/cli/commands/uninstall.js +20 -20
  25. package/dist/cli/flags-view/render.js +5 -5
  26. package/dist/cli/flags-view/state.js +9 -9
  27. package/dist/cli/flags-view/terminal.js +4 -4
  28. package/dist/cli/tui/cells.js +1 -1
  29. package/dist/cli/tui/terminal.js +6 -6
  30. package/dist/commands/dynamic-build.md +18 -4
  31. package/dist/commands/dynamic-plan.md +19 -5
  32. package/dist/commands/dynamic-profile.md +17 -3
  33. package/dist/commands/dynamic-tickets.md +18 -4
  34. package/dist/commands/release.md +15 -1
  35. package/dist/commands/research.md +1 -1
  36. package/dist/commands/resolve.md +8 -9
  37. package/dist/core/agent-frontmatter.js +3 -3
  38. package/dist/core/agent-models.js +6 -6
  39. package/dist/core/agent-state.js +2 -2
  40. package/dist/core/ansi.js +2 -2
  41. package/dist/core/cache.js +7 -8
  42. package/dist/core/codex-auth-inspect.js +4 -4
  43. package/dist/core/compliance-compose.js +3 -3
  44. package/dist/core/compliance.js +3 -4
  45. package/dist/core/evidence-policy.js +14 -13
  46. package/dist/core/external-models.js +1 -1
  47. package/dist/core/feature-config.js +3 -3
  48. package/dist/core/feature-switch.js +3 -3
  49. package/dist/core/flags.js +25 -25
  50. package/dist/core/fs-atomic.js +6 -7
  51. package/dist/core/learning-queue-cleanup.js +16 -80
  52. package/dist/core/learning-store.js +61 -0
  53. package/dist/core/manifest.js +5 -5
  54. package/dist/core/mds-variants.js +13 -13
  55. package/dist/core/model-discovery.js +8 -8
  56. package/dist/core/observations.js +17 -101
  57. package/dist/core/orphan-sweep.js +4 -4
  58. package/dist/core/plugins.js +4 -5
  59. package/dist/core/project-paths.js +9 -13
  60. package/dist/core/proxy-log.js +8 -8
  61. package/dist/core/proxy-state.js +3 -3
  62. package/dist/core/reference-sweep.js +6 -6
  63. package/dist/core/teammate-mode-cleanup.js +1 -1
  64. package/dist/core/tracker.js +14 -14
  65. package/dist/hud/colors.js +2 -2
  66. package/dist/hud/components/learning-counts.js +2 -16
  67. package/dist/hud/components/version-badge.js +1 -1
  68. package/dist/skills/git/references/pr/resolve-review-threads.md +2 -2
  69. package/dist/targets/claude-code/compliance-install.js +17 -15
  70. package/dist/targets/claude-code/hooks.js +2 -2
  71. package/dist/targets/claude-code/installer.js +24 -24
  72. package/dist/targets/claude-code/legacy.js +1 -1
  73. package/dist/targets/claude-code/post-install.js +7 -7
  74. package/dist/targets/claude-code/tracker-install.js +2 -2
  75. package/package.json +1 -1
  76. package/src/assets/agents/code.md +1 -4
  77. package/src/assets/agents/design.md +2 -2
  78. package/src/assets/agents/diagnose.md +1 -1
  79. package/src/assets/agents/git.mds +2 -2
  80. package/src/assets/agents/knowledge.md +3 -3
  81. package/src/assets/agents/learning.md +281 -196
  82. package/src/assets/agents/research.md +1 -1
  83. package/src/assets/agents/review.md +3 -3
  84. package/src/assets/agents/scrutinize.md +1 -1
  85. package/src/assets/agents/skim.md +1 -1
  86. package/src/assets/agents/triage.md +9 -9
  87. package/src/assets/commands/_partials/_decisions.mds +8 -3
  88. package/src/assets/commands/_partials/_docs_root.mds +3 -3
  89. package/src/assets/commands/_partials/_engine.mds +1 -1
  90. package/src/assets/commands/_partials/_preamble.mds +6 -2
  91. package/src/assets/commands/_partials/_settings.mds +2 -2
  92. package/src/assets/commands/dynamic-build.mds +1 -1
  93. package/src/assets/commands/dynamic-plan.mds +3 -3
  94. package/src/assets/commands/dynamic-profile.mds +1 -1
  95. package/src/assets/commands/dynamic-tickets.mds +2 -2
  96. package/src/assets/commands/release.md +15 -1
  97. package/src/assets/commands/research.mds +1 -1
  98. package/src/assets/commands/resolve.mds +8 -9
  99. package/src/assets/mds/git/_pr.mds +3 -3
  100. package/src/assets/mds/tracker/_common.mds +1 -1
  101. package/src/assets/mds/tracker/_github.mds +1 -1
  102. package/src/assets/mds/tracker/_jira.mds +1 -1
  103. package/src/assets/mds/tracker/_linear.mds +1 -1
  104. package/src/assets/mds/tracker/_mcp.mds +6 -5
  105. package/src/assets/scripts/hooks/assets/orchestrator-charter.md +1 -0
  106. package/src/assets/scripts/hooks/background-memory-update +28 -22
  107. package/src/assets/scripts/hooks/capture-turn +1 -17
  108. package/src/assets/scripts/hooks/ensure-devflow-init +1 -1
  109. package/src/assets/scripts/hooks/ensure-proxy +5 -6
  110. package/src/assets/scripts/hooks/ensure-root-gitignore +1 -1
  111. package/src/assets/scripts/hooks/is-hex-sha +1 -1
  112. package/src/assets/scripts/hooks/json-helper.cjs +348 -814
  113. package/src/assets/scripts/hooks/json-parse +3 -2
  114. package/src/assets/scripts/hooks/lib/decisions-format.cjs +205 -156
  115. package/src/assets/scripts/hooks/lib/learning-store.cjs +3102 -0
  116. package/src/assets/scripts/hooks/lib/mkdir-lock.cjs +7 -5
  117. package/src/assets/scripts/hooks/lib/project-paths.cjs +13 -19
  118. package/src/assets/scripts/hooks/lib/render-decisions.cjs +253 -226
  119. package/src/assets/scripts/hooks/queue-append +2 -2
  120. package/src/assets/scripts/hooks/resolve-project-root +3 -4
  121. package/src/assets/scripts/hooks/session-start-context +40 -18
  122. package/src/assets/scripts/lib/project-config.cjs +2 -2
  123. package/src/assets/scripts/pr-evidence.cjs +3 -3
  124. package/src/assets/scripts/redact-secrets.cjs +20 -20
  125. package/src/assets/scripts/release-trace.cjs +1 -1
  126. package/src/assets/scripts/resolve-evidence-policy.cjs +3 -3
  127. package/src/assets/scripts/resolve-settings.cjs +3 -3
  128. package/src/assets/scripts/verify-evidence.cjs +2 -2
  129. package/src/assets/skills/apply-decisions/SKILL.md +37 -17
  130. package/src/assets/skills/docs-framework/SKILL.md +2 -2
  131. package/src/assets/skills/feature-knowledge/SKILL.md +6 -5
  132. package/dist/core/observation-io.js +0 -50
  133. package/src/assets/scripts/hooks/decisions-usage-scan.cjs +0 -131
@@ -25,7 +25,7 @@ _EDI_LEDGER="${DF_LEDGER_ROOT:-$_EDI_ROOT}"
25
25
  # pre-compact-memory) passes through before it writes, and each of them treats a
26
26
  # non-zero return as "stop" (`|| exit 0`), so memory and learning stop together
27
27
  # in a non-git directory. ensure-root-gitignore itself stays ungated: it is a
28
- # pure writer its parity suite runs in plain directories (PF-059), and both of
28
+ # pure writer its parity suite runs in plain directories, and both of
29
29
  # its callers now decide before reaching it. A helper that failed to source is a
30
30
  # command not found — the refusing branch, so the failure mode writes nothing.
31
31
  source "$_EDI_DIR/git-marker" 2>/dev/null || true
@@ -15,8 +15,8 @@
15
15
  # Branding: "subswitch" is an internal identifier (health check body match, SUBSWITCH_CONFIG env var,
16
16
  # spawn args); it MUST NOT appear in user-visible strings or additionalContext messages.
17
17
  #
18
- # avoids PF-001: port is digit-validated before interpolation into /dev/tcp and context strings.
19
- # avoids PF-014: hook always exits 0; no fd held across exit.
18
+ # Port is digit-validated, falling back to the default, before reaching /dev/tcp or context strings.
19
+ # Hook always exits 0; no fd held across exit.
20
20
 
21
21
  # Safe no-op fallback — must exist before hook-bootstrap is sourced
22
22
  dbg() { :; }
@@ -71,7 +71,7 @@ if [ "$PROXY_ENABLED" != "true" ]; then
71
71
  exit 0
72
72
  fi
73
73
 
74
- # Digit-validate port before use in /dev/tcp and string interpolation (avoids PF-001)
74
+ # Digit-validate port before use in /dev/tcp and string interpolation
75
75
  PROXY_PORT_RAW=$(json_field_file "$PROXY_STATE_FILE" "port" "4141")
76
76
  PROXY_PORT="4141"
77
77
  case "$PROXY_PORT_RAW" in
@@ -189,8 +189,7 @@ dbg "PROXY_BIN=$PROXY_BIN PROXY_CONFIG=$PROXY_CONFIG"
189
189
  # b) `command -v subswitch` — globally installed CLI.
190
190
  # Re-resolution is best-effort: on failure the existing warning is emitted and the
191
191
  # hook exits 0 as before. The healed path is used for this session only; the next
192
- # successful `devflow proxy --enable` persists it to proxy.json. (avoids PF-001,
193
- # avoids PF-009: non-fatal on failure, always exits 0)
192
+ # successful `devflow proxy --enable` persists it to proxy.json.
194
193
  if [ -z "$PROXY_BIN" ] || [ ! -f "$PROXY_BIN" ]; then
195
194
  log "prereq: binPath missing or not a file (${PROXY_BIN:-<empty>}) — attempting re-resolution"
196
195
  _RESOLVED_BIN=""
@@ -295,7 +294,7 @@ log "spawning relay: $NODE_BIN $PROXY_BIN serve"
295
294
  (umask 077 && touch "$LOG_FILE") 2>/dev/null || true
296
295
  chmod 600 "$LOG_FILE" 2>/dev/null || true
297
296
 
298
- # SEC-2 (allowlist): scope the relay's env to exactly what it needs — avoids PF-017.
297
+ # SEC-2 (allowlist): scope the relay's env to exactly what it needs.
299
298
  # NODE_EXTRA_CA_CERTS is included when non-empty so corporate-TLS deployments can
300
299
  # supply a CA bundle; an unset/empty value is not injected (an empty path causes
301
300
  # TLS errors rather than being a no-op). NODE_OPTIONS is deliberately excluded:
@@ -26,7 +26,7 @@
26
26
  # - session-start-context (always-on, memory-independent — covers memory-off
27
27
  # projects that still use learning/knowledge)
28
28
  # Both reach this one writer so the rule is applied identically everywhere; this
29
- # decouples git-tracking of .devflow/ from any single feature toggle (avoids PF-014).
29
+ # decouples git-tracking of .devflow/ from any single feature toggle.
30
30
  #
31
31
  # Idempotent and O(1) after the first run via the .root-gitignore-configured-v6
32
32
  # marker under .devflow/ (project-local). The marker is a claim, not proof, so the
@@ -3,7 +3,7 @@
3
3
  # Usage: source "$SCRIPT_DIR/is-hex-sha" then is_hex_sha <value> [min_len] [max_len]
4
4
  # Returns 0 (true) if value consists entirely of lowercase hex chars and has
5
5
  # length within [min_len, max_len]. Defaults: min_len=7, max_len=40.
6
- # Pure shell — no forks (PF-008-safe).
6
+ # Pure shell — no forks.
7
7
 
8
8
  is_hex_sha() {
9
9
  local _v="$1" _min="${2:-7}" _max="${3:-40}" _len