@snappedly-tools/shipyard 0.9.2-staging.36261752709 → 0.9.2-staging.36277429987

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/dist/main.js CHANGED
@@ -2400,7 +2400,7 @@ var runnerCommand = Command.make(
2400
2400
  purgeRunnerCommand
2401
2401
  ])
2402
2402
  );
2403
- var VERSION = "0.9.2-staging.36261752709" ;
2403
+ var VERSION = "0.9.2-staging.36277429987" ;
2404
2404
  var SHIPYARD_PACKAGE_NAME = "@snappedly-tools/shipyard";
2405
2405
  var isMissingPath = (error) => error !== null && typeof error === "object" && "code" in error && error.code === "ENOENT";
2406
2406
  var lstatIfPresent = async (path) => {
@@ -2,6 +2,6 @@ Triage GitHub issue #{{TASK_ID}} before Shipyard implementation.
2
2
 
3
3
  Follow `/triage` and the repository's triage label mapping. Read the full issue and comments. Verify the reported behavior against `origin/{{BASE_BRANCH}}`, the integration baseline. The checked-out task branch may contain unfinished changes from an earlier attempt. Do not close the issue as already complete based on the task branch or comments about that candidate.
4
4
 
5
- Apply the appropriate category and state label and post the brief or triage notes required by the skill. The maintainer has authorized Shipyard to apply an evidence-based recommendation during this unattended intake. If a decision requires maintainer judgment, use `needs-triage` and record the question. Do not implement the issue or start a PR in this phase.
5
+ Apply the appropriate category and state label and post the brief or triage notes required by the skill. The maintainer has authorized Shipyard to apply an evidence-based recommendation during this unattended intake. Derive acceptance criteria from the stated outcome. For example, equal spacing between named header items is a testable visual goal without a pixel target. Choose a representative supported viewport if none is specified. An inaccessible attachment does not require `needs-info` when the text establishes the current and desired behavior; record the verification limit in the brief. Do not treat equal CSS gap values alone as proof that the rendered gaps are equal. Apply `needs-info` and ask one concrete question only when missing details change the intended result or prevent meaningful verification. Use `needs-triage` only when the available facts leave a product or policy decision for the maintainer, not for routine layout or implementation choices. Preserve the `shipyard` or `shipyard:pending` label. Do not implement the issue or start a PR in this phase.
6
6
 
7
- Report the applied state and evidence. Shipyard will independently re-read GitHub labels and implement only an open issue carrying both `shipyard` and the sole triage state `ready-for-agent`.
7
+ Report the applied state and evidence. Shipyard will independently re-read GitHub labels and implement only an open issue carrying `shipyard` or `shipyard:pending` and the sole triage state `ready-for-agent`.
@@ -11,9 +11,18 @@ gh issue view "$issue" --repo "$repo" --json state,labels |
11
11
  const issue = JSON.parse(require("node:fs").readFileSync(0, "utf8"));
12
12
  const labels = new Set(issue.labels.map((label) => label.name));
13
13
  const states = ["needs-triage", "needs-info", "ready-for-agent", "ready-for-human", "wontfix"];
14
- if (issue.state !== "OPEN" || !labels.has("shipyard") ||
15
- states.filter((state) => labels.has(state)).join() !== "ready-for-agent") {
16
- console.error("Issue cannot be implemented: requires an open issue with shipyard and only ready-for-agent as its triage state");
14
+ if (issue.state !== "OPEN" ||
15
+ !(labels.has("shipyard") || labels.has("shipyard:pending"))) {
16
+ console.error("Issue cannot be implemented: requires an open issue with shipyard or shipyard:pending");
17
+ process.exit(1);
18
+ }
19
+ const triageStates = states.filter((state) => labels.has(state));
20
+ if (triageStates.join() === "needs-info") {
21
+ console.error("Issue needs information from the reporter before implementation");
22
+ process.exit(1);
23
+ }
24
+ if (triageStates.join() !== "ready-for-agent") {
25
+ console.error(`Issue cannot be implemented: triage state is ${triageStates.join() || "missing"}; requires only ready-for-agent`);
17
26
  process.exit(1);
18
27
  }
19
28
  '
@@ -2,6 +2,6 @@ Triage GitHub issue #{{TASK_ID}} before Shipyard implementation.
2
2
 
3
3
  Follow `/triage` and the repository's triage label mapping. Read the full issue and comments. Verify the reported behavior against `origin/{{BASE_BRANCH}}`, the integration baseline. The checked-out task branch may contain unfinished changes from an earlier attempt. Do not close the issue as already complete based on the task branch or comments about that candidate.
4
4
 
5
- Apply the appropriate category and state label and post the brief or triage notes required by the skill. The maintainer has authorized Shipyard to apply an evidence-based recommendation during this unattended intake. If a decision requires maintainer judgment, use `needs-triage` and record the question. Do not implement the issue or start a PR in this phase.
5
+ Apply the appropriate category and state label and post the brief or triage notes required by the skill. The maintainer has authorized Shipyard to apply an evidence-based recommendation during this unattended intake. Derive acceptance criteria from the stated outcome. For example, equal spacing between named header items is a testable visual goal without a pixel target. Choose a representative supported viewport if none is specified. An inaccessible attachment does not require `needs-info` when the text establishes the current and desired behavior; record the verification limit in the brief. Do not treat equal CSS gap values alone as proof that the rendered gaps are equal. Apply `needs-info` and ask one concrete question only when missing details change the intended result or prevent meaningful verification. Use `needs-triage` only when the available facts leave a product or policy decision for the maintainer, not for routine layout or implementation choices. Preserve the `shipyard` or `shipyard:pending` label. Do not implement the issue or start a PR in this phase.
6
6
 
7
- Report the applied state and evidence. Shipyard will independently re-read GitHub labels and implement only an open issue carrying both `shipyard` and the sole triage state `ready-for-agent`.
7
+ Report the applied state and evidence. Shipyard will independently re-read GitHub labels and implement only an open issue carrying `shipyard` or `shipyard:pending` and the sole triage state `ready-for-agent`.
@@ -11,9 +11,18 @@ gh issue view "$issue" --repo "$repo" --json state,labels |
11
11
  const issue = JSON.parse(require("node:fs").readFileSync(0, "utf8"));
12
12
  const labels = new Set(issue.labels.map((label) => label.name));
13
13
  const states = ["needs-triage", "needs-info", "ready-for-agent", "ready-for-human", "wontfix"];
14
- if (issue.state !== "OPEN" || !labels.has("shipyard") ||
15
- states.filter((state) => labels.has(state)).join() !== "ready-for-agent") {
16
- console.error("Issue cannot be implemented: requires an open issue with shipyard and only ready-for-agent as its triage state");
14
+ if (issue.state !== "OPEN" ||
15
+ !(labels.has("shipyard") || labels.has("shipyard:pending"))) {
16
+ console.error("Issue cannot be implemented: requires an open issue with shipyard or shipyard:pending");
17
+ process.exit(1);
18
+ }
19
+ const triageStates = states.filter((state) => labels.has(state));
20
+ if (triageStates.join() === "needs-info") {
21
+ console.error("Issue needs information from the reporter before implementation");
22
+ process.exit(1);
23
+ }
24
+ if (triageStates.join() !== "ready-for-agent") {
25
+ console.error(`Issue cannot be implemented: triage state is ${triageStates.join() || "missing"}; requires only ready-for-agent`);
17
26
  process.exit(1);
18
27
  }
19
28
  '
@@ -2,6 +2,6 @@ Triage GitHub issue #{{TASK_ID}} before Shipyard implementation.
2
2
 
3
3
  Follow `/triage` and the repository's triage label mapping. Read the full issue and comments. Verify the reported behavior against `origin/{{BASE_BRANCH}}`, the integration baseline. The checked-out task branch may contain unfinished changes from an earlier attempt. Do not close the issue as already complete based on the task branch or comments about that candidate.
4
4
 
5
- Apply the appropriate category and state label and post the brief or triage notes required by the skill. The maintainer has authorized Shipyard to apply an evidence-based recommendation during this unattended intake. If a decision requires maintainer judgment, use `needs-triage` and record the question. Do not implement the issue or start a PR in this phase.
5
+ Apply the appropriate category and state label and post the brief or triage notes required by the skill. The maintainer has authorized Shipyard to apply an evidence-based recommendation during this unattended intake. Derive acceptance criteria from the stated outcome. For example, equal spacing between named header items is a testable visual goal without a pixel target. Choose a representative supported viewport if none is specified. An inaccessible attachment does not require `needs-info` when the text establishes the current and desired behavior; record the verification limit in the brief. Do not treat equal CSS gap values alone as proof that the rendered gaps are equal. Apply `needs-info` and ask one concrete question only when missing details change the intended result or prevent meaningful verification. Use `needs-triage` only when the available facts leave a product or policy decision for the maintainer, not for routine layout or implementation choices. Preserve the `shipyard` or `shipyard:pending` label. Do not implement the issue or start a PR in this phase.
6
6
 
7
- Report the applied state and evidence. Shipyard will independently re-read GitHub labels and implement only an open issue carrying both `shipyard` and the sole triage state `ready-for-agent`.
7
+ Report the applied state and evidence. Shipyard will independently re-read GitHub labels and implement only an open issue carrying `shipyard` or `shipyard:pending` and the sole triage state `ready-for-agent`.
@@ -11,9 +11,18 @@ gh issue view "$issue" --repo "$repo" --json state,labels |
11
11
  const issue = JSON.parse(require("node:fs").readFileSync(0, "utf8"));
12
12
  const labels = new Set(issue.labels.map((label) => label.name));
13
13
  const states = ["needs-triage", "needs-info", "ready-for-agent", "ready-for-human", "wontfix"];
14
- if (issue.state !== "OPEN" || !labels.has("shipyard") ||
15
- states.filter((state) => labels.has(state)).join() !== "ready-for-agent") {
16
- console.error("Issue cannot be implemented: requires an open issue with shipyard and only ready-for-agent as its triage state");
14
+ if (issue.state !== "OPEN" ||
15
+ !(labels.has("shipyard") || labels.has("shipyard:pending"))) {
16
+ console.error("Issue cannot be implemented: requires an open issue with shipyard or shipyard:pending");
17
+ process.exit(1);
18
+ }
19
+ const triageStates = states.filter((state) => labels.has(state));
20
+ if (triageStates.join() === "needs-info") {
21
+ console.error("Issue needs information from the reporter before implementation");
22
+ process.exit(1);
23
+ }
24
+ if (triageStates.join() !== "ready-for-agent") {
25
+ console.error(`Issue cannot be implemented: triage state is ${triageStates.join() || "missing"}; requires only ready-for-agent`);
17
26
  process.exit(1);
18
27
  }
19
28
  '
@@ -2,6 +2,6 @@ Triage GitHub issue #{{TASK_ID}} before Shipyard implementation.
2
2
 
3
3
  Follow `/triage` and the repository's triage label mapping. Read the full issue and comments. Verify the reported behavior against `origin/{{BASE_BRANCH}}`, the integration baseline. The checked-out task branch may contain unfinished changes from an earlier attempt. Do not close the issue as already complete based on the task branch or comments about that candidate.
4
4
 
5
- Apply the appropriate category and state label and post the brief or triage notes required by the skill. The maintainer has authorized Shipyard to apply an evidence-based recommendation during this unattended intake. If a decision requires maintainer judgment, use `needs-triage` and record the question. Do not implement the issue or start a PR in this phase.
5
+ Apply the appropriate category and state label and post the brief or triage notes required by the skill. The maintainer has authorized Shipyard to apply an evidence-based recommendation during this unattended intake. Derive acceptance criteria from the stated outcome. For example, equal spacing between named header items is a testable visual goal without a pixel target. Choose a representative supported viewport if none is specified. An inaccessible attachment does not require `needs-info` when the text establishes the current and desired behavior; record the verification limit in the brief. Do not treat equal CSS gap values alone as proof that the rendered gaps are equal. Apply `needs-info` and ask one concrete question only when missing details change the intended result or prevent meaningful verification. Use `needs-triage` only when the available facts leave a product or policy decision for the maintainer, not for routine layout or implementation choices. Preserve the `shipyard` or `shipyard:pending` label. Do not implement the issue or start a PR in this phase.
6
6
 
7
- Report the applied state and evidence. Shipyard will independently re-read GitHub labels and implement only an open issue carrying both `shipyard` and the sole triage state `ready-for-agent`.
7
+ Report the applied state and evidence. Shipyard will independently re-read GitHub labels and implement only an open issue carrying `shipyard` or `shipyard:pending` and the sole triage state `ready-for-agent`.
@@ -11,9 +11,18 @@ gh issue view "$issue" --repo "$repo" --json state,labels |
11
11
  const issue = JSON.parse(require("node:fs").readFileSync(0, "utf8"));
12
12
  const labels = new Set(issue.labels.map((label) => label.name));
13
13
  const states = ["needs-triage", "needs-info", "ready-for-agent", "ready-for-human", "wontfix"];
14
- if (issue.state !== "OPEN" || !labels.has("shipyard") ||
15
- states.filter((state) => labels.has(state)).join() !== "ready-for-agent") {
16
- console.error("Issue cannot be implemented: requires an open issue with shipyard and only ready-for-agent as its triage state");
14
+ if (issue.state !== "OPEN" ||
15
+ !(labels.has("shipyard") || labels.has("shipyard:pending"))) {
16
+ console.error("Issue cannot be implemented: requires an open issue with shipyard or shipyard:pending");
17
+ process.exit(1);
18
+ }
19
+ const triageStates = states.filter((state) => labels.has(state));
20
+ if (triageStates.join() === "needs-info") {
21
+ console.error("Issue needs information from the reporter before implementation");
22
+ process.exit(1);
23
+ }
24
+ if (triageStates.join() !== "ready-for-agent") {
25
+ console.error(`Issue cannot be implemented: triage state is ${triageStates.join() || "missing"}; requires only ready-for-agent`);
17
26
  process.exit(1);
18
27
  }
19
28
  '
@@ -2,6 +2,6 @@ Triage GitHub issue #{{TASK_ID}} before Shipyard implementation.
2
2
 
3
3
  Follow `/triage` and the repository's triage label mapping. Read the full issue and comments. Verify the reported behavior against `origin/{{BASE_BRANCH}}`, the integration baseline. The checked-out task branch may contain unfinished changes from an earlier attempt. Do not close the issue as already complete based on the task branch or comments about that candidate.
4
4
 
5
- Apply the appropriate category and state label and post the brief or triage notes required by the skill. The maintainer has authorized Shipyard to apply an evidence-based recommendation during this unattended intake. If a decision requires maintainer judgment, use `needs-triage` and record the question. Do not implement the issue or start a PR in this phase.
5
+ Apply the appropriate category and state label and post the brief or triage notes required by the skill. The maintainer has authorized Shipyard to apply an evidence-based recommendation during this unattended intake. Derive acceptance criteria from the stated outcome. For example, equal spacing between named header items is a testable visual goal without a pixel target. Choose a representative supported viewport if none is specified. An inaccessible attachment does not require `needs-info` when the text establishes the current and desired behavior; record the verification limit in the brief. Do not treat equal CSS gap values alone as proof that the rendered gaps are equal. Apply `needs-info` and ask one concrete question only when missing details change the intended result or prevent meaningful verification. Use `needs-triage` only when the available facts leave a product or policy decision for the maintainer, not for routine layout or implementation choices. Preserve the `shipyard` or `shipyard:pending` label. Do not implement the issue or start a PR in this phase.
6
6
 
7
- Report the applied state and evidence. Shipyard will independently re-read GitHub labels and implement only an open issue carrying both `shipyard` and the sole triage state `ready-for-agent`.
7
+ Report the applied state and evidence. Shipyard will independently re-read GitHub labels and implement only an open issue carrying `shipyard` or `shipyard:pending` and the sole triage state `ready-for-agent`.
@@ -11,9 +11,18 @@ gh issue view "$issue" --repo "$repo" --json state,labels |
11
11
  const issue = JSON.parse(require("node:fs").readFileSync(0, "utf8"));
12
12
  const labels = new Set(issue.labels.map((label) => label.name));
13
13
  const states = ["needs-triage", "needs-info", "ready-for-agent", "ready-for-human", "wontfix"];
14
- if (issue.state !== "OPEN" || !labels.has("shipyard") ||
15
- states.filter((state) => labels.has(state)).join() !== "ready-for-agent") {
16
- console.error("Issue cannot be implemented: requires an open issue with shipyard and only ready-for-agent as its triage state");
14
+ if (issue.state !== "OPEN" ||
15
+ !(labels.has("shipyard") || labels.has("shipyard:pending"))) {
16
+ console.error("Issue cannot be implemented: requires an open issue with shipyard or shipyard:pending");
17
+ process.exit(1);
18
+ }
19
+ const triageStates = states.filter((state) => labels.has(state));
20
+ if (triageStates.join() === "needs-info") {
21
+ console.error("Issue needs information from the reporter before implementation");
22
+ process.exit(1);
23
+ }
24
+ if (triageStates.join() !== "ready-for-agent") {
25
+ console.error(`Issue cannot be implemented: triage state is ${triageStates.join() || "missing"}; requires only ready-for-agent`);
17
26
  process.exit(1);
18
27
  }
19
28
  '
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@snappedly-tools/shipyard",
3
- "version": "0.9.2-staging.36261752709",
3
+ "version": "0.9.2-staging.36277429987",
4
4
  "description": "Run AI coding agents in isolated sandboxes",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",