aienvmp 0.1.24 → 0.1.25

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.25
4
+
5
+ - Added a more explicit AI decision contract to `context --json`.
6
+ - Included project-local work allowance, environment-change review state, warning codes, and required follow-up commands.
7
+ - Clarified that local project work can continue while environment changes remain intent-gated and review-oriented.
8
+
3
9
  ## 0.1.24
4
10
 
5
11
  - Added a dashboard CI Readiness card for `doctor --strict security|policy|coordination|all`.
package/README.md CHANGED
@@ -80,7 +80,7 @@ The dashboard shows which strict scopes are CI-ready before you enforce them.
80
80
  ```bash
81
81
  aienvmp sync # update env map, light SBOM, ledger, dashboard
82
82
  aienvmp context # AI preflight brief
83
- aienvmp context --json # AI decision context + actions + compact step summary
83
+ aienvmp context --json # AI decision contract + actions + compact step summary
84
84
  aienvmp plan # read-only AI action plan for drift and remediation
85
85
  aienvmp handoff # next-agent handoff summary + recommended actions
86
86
  aienvmp intent # record a planned env change
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aienvmp",
3
- "version": "0.1.24",
3
+ "version": "0.1.25",
4
4
  "description": "AI-first environment maps and lightweight runtime SBOMs for shared development machines.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -63,11 +63,19 @@ function inventorySummary(inventory = {}) {
63
63
  }
64
64
 
65
65
  function contextDecision(warnings, intents) {
66
+ const warningCodes = warnings.map((warning) => warning.code);
66
67
  const reviewRequired = warnings.length > 0 || intents.length > 0;
68
+ const canChangeEnvironmentWithoutReview = !reviewRequired;
69
+ const mode = reviewRequired ? "review-first" : "project-local-work";
67
70
  return {
71
+ schemaVersion: 1,
72
+ mode,
68
73
  canProceed: !reviewRequired,
74
+ canContinueProjectLocalWork: true,
75
+ canChangeEnvironmentWithoutReview,
69
76
  safeForProjectLocalWork: warnings.length === 0,
70
77
  reviewRequired,
78
+ warningCodes,
71
79
  environmentChangeRequiresIntent: true,
72
80
  globalEnvironmentChangesRequireUserApproval: true,
73
81
  pendingIntentCount: intents.length,
@@ -80,6 +88,13 @@ function contextDecision(warnings, intents) {
80
88
  recommendedNextActions: warnings.length
81
89
  ? ["review warnings", "ask the user before environment changes", "record intent before changes"]
82
90
  : ["continue with project-local work", "run aienvmp intent before environment changes"],
83
- nextCommand: warnings.length ? "review warnings before changing environment" : "continue with project-local work"
91
+ requiredCommands: {
92
+ beforeEnvironmentChange: "aienvmp intent --actor agent:id --action planned-change --target <runtime|package-manager|docker>",
93
+ refreshAfterChange: "aienvmp sync",
94
+ recordAfterChange: "aienvmp record --actor agent:id --summary what-changed",
95
+ handoff: "aienvmp handoff --record --actor agent:id",
96
+ reviewPlan: "aienvmp plan"
97
+ },
98
+ nextCommand: reviewRequired ? "aienvmp plan" : "continue project-local work; use aienvmp intent before environment changes"
84
99
  };
85
100
  }
package/src/render.js CHANGED
@@ -92,6 +92,7 @@ export function renderContext(manifest, timeline = [], warnings = [], intents =
92
92
  "",
93
93
  `Status: ${status}`,
94
94
  `Next: ${next}`,
95
+ "Project-local work: allowed; environment changes require intent and review when warnings or open intents exist.",
95
96
  `Trust: ${manifest.trust?.state || "observed"} (verified requires human or CI)`,
96
97
  `Workspace: ${manifest.workspace.path}`,
97
98
  `Node: ${manifest.runtimes.node || "not detected"}`,