@varde-flyt/vfac 0.3.0 → 0.3.1

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 (2) hide show
  1. package/dist/vfac.mjs +12 -1
  2. package/package.json +1 -1
package/dist/vfac.mjs CHANGED
@@ -15954,6 +15954,9 @@ async function runDoctor(parsed) {
15954
15954
  }
15955
15955
  const access = who.data.access;
15956
15956
  const projects = access.projects.map((project) => project.projectId);
15957
+ const mutating = access.projects.filter(
15958
+ (project) => project.permissions.some((permission) => !permission.endsWith(".read"))
15959
+ );
15957
15960
  checks.push(
15958
15961
  access.tenantWide ? {
15959
15962
  name: "Access",
@@ -15980,7 +15983,15 @@ async function runDoctor(parsed) {
15980
15983
  // members, other Tenants' resources. An agent read the warning,
15981
15984
  // ran the listing, watched it succeed, and learned to distrust the
15982
15985
  // line — which is the worst outcome for a diagnostic.
15983
- detail: `${projects.join(", ")} \u2014 and nothing organization-wide. You can deploy in those Projects, read their catalogue, and list them. Anything ACROSS the organization \u2014 a Project you hold nothing in, or its members \u2014 is refused.`
15986
+ // AND WHAT IT MAY DO THERE, which this also got wrong. "You can
15987
+ // deploy in those Projects" is false for a gate granted *Project
15988
+ // Read* — `project.read` and `resource.read`, no writes at all —
15989
+ // and `doctor` is the FIRST command an agent is told to run, so it
15990
+ // was the first sentence an observing agent read. An agent that
15991
+ // believes it can deploy and is then refused reports a platform
15992
+ // defect, which is precisely the outcome the guide now tells it not
15993
+ // to reach for. Scope and role are two questions; this answers both.
15994
+ detail: `${projects.join(", ")} \u2014 and nothing organization-wide. ` + (mutating.length > 0 ? "You can deploy in those Projects, read their catalogue, and list them. " : "Read-only there: catalogue, manifests, resources and operations. An apply or a lifecycle command is refused, and that is what was granted rather than a fault. ") + "Anything ACROSS the organization \u2014 a Project you hold nothing in, or its members \u2014 is refused."
15984
15995
  }
15985
15996
  );
15986
15997
  checks.push({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@varde-flyt/vfac",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "Deploy and manage Varde Flyt Products from a manifest.",
5
5
  "repository": {
6
6
  "type": "git",