snipara-companion 4.2.2 → 4.2.3

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
@@ -2,6 +2,12 @@
2
2
 
3
3
  Release notes for `snipara-companion`, newest first.
4
4
 
5
+ ## 4.2.3
6
+
7
+ - Skip hosted routing-policy discovery for ordinary LITE workflows; preserve explicit routing, active local policy and Orchestrator handoff requests.
8
+ - Keep bounded task guidance in LITE regardless of file count unless multi-phase work is requested.
9
+ - Distribute four concise, optional agent skills for direct fixes, sourced answers, task resumption and context retrieval.
10
+
5
11
  ## 4.2.2
6
12
 
7
13
  - Propagate collaboration guard failures and run the pre-commit guard before mutating staged files.
package/README.md CHANGED
@@ -16,6 +16,10 @@ Snipara adds sourced project context and shared memory when you connect it.
16
16
  Orchestrator adds optional execution and integration controls. Each can be
17
17
  used independently.
18
18
 
19
+ For a clear, bounded edit, work directly with your agent and run the relevant
20
+ checks. Add a managed task when continuity or evidence tracking helps. The
21
+ [optional agent skills](docs/skills/README.md) follow the same principle.
22
+
19
23
  <a id="install"></a>
20
24
 
21
25
  ## Start with a local task
package/dist/index.js CHANGED
@@ -38936,7 +38936,8 @@ async function workflowRunCommand(options) {
38936
38936
  ensureConfigured();
38937
38937
  }
38938
38938
  const client = hostedConfigured ? createClient(2e4) : null;
38939
- const loadedAdaptiveRoutingPolicy = hostedConfigured ? await loadAdaptiveRoutingProjectPolicy(client, localAdaptiveRoutingPolicy) : localAdaptiveRoutingPolicy;
38939
+ const needsHostedRoutingPolicy = effectiveMode !== "lite" || localAdaptiveRoutingRequested || localAdaptiveRoutingPolicy !== null && localAdaptiveRoutingPolicy.mode !== "off" || options.emitOrchestratorHandoff || options.autoRouteOrchestrator;
38940
+ const loadedAdaptiveRoutingPolicy = hostedConfigured && needsHostedRoutingPolicy ? await loadAdaptiveRoutingProjectPolicy(client, localAdaptiveRoutingPolicy) : localAdaptiveRoutingPolicy;
38940
38941
  const adaptiveRoutingPolicy = options.routingLocalWorker && localAdaptiveRoutingPolicy ? localAdaptiveRoutingPolicy : loadedAdaptiveRoutingPolicy;
38941
38942
  const adaptiveRoutingIntent = resolveAdaptiveRoutingIntent(
38942
38943
  options,
@@ -48771,10 +48772,10 @@ function buildTaskIntentGuide(options) {
48771
48772
  argv = ["snipara-companion", "verify", "--skip-impact", "--changed-files", ...files, "--json"];
48772
48773
  effects = ["Reads local package scripts and returns a verification plan; executes no tests"];
48773
48774
  } else {
48774
- mode = options.multiPhase || files.length > 1 ? "full" : "lite";
48775
+ mode = options.multiPhase ? "full" : "lite";
48775
48776
  argv = ["snipara-companion", "verify", "--skip-impact", "--changed-files", ...files, "--json"];
48776
48777
  effects = ["Read the selected source and applicable instructions, make the authorized edit, then review the local verification plan", "Executable repository checks still require the applicable Sandbox validation gate"];
48777
- reason = mode === "lite" ? "Single-file, single-phase entry: no mandatory Hosted call, Controller or phase-memory write. Escalate for risky or architectural work." : "Multiple files or phases require the managed workflow before implementation";
48778
+ reason = mode === "lite" ? "Single-phase entry: file count alone does not require a managed workflow. No mandatory Hosted call, Controller or phase-memory write. Escalate for risk, architecture or continuity needs." : "Explicit multiple phases require the managed workflow before implementation";
48778
48779
  }
48779
48780
  return {
48780
48781
  schemaVersion: "snipara.task_intent_guide.v1",
@@ -0,0 +1,33 @@
1
+ # Optional agent skills
2
+
3
+ These short skills add guidance only when a task needs it. An obvious local edit
4
+ can proceed directly. No skill requires a new managed workflow, a Snipara account
5
+ or a per-use journal. Existing project verification and authorization rules apply.
6
+
7
+ | Skill | Use when |
8
+ | --- | --- |
9
+ | [Fix with proof](snipara-fix-with-proof/SKILL.md) | Reproducing a bug or preserving its contract needs care. |
10
+ | [Resume work](snipara-resume-work/SKILL.md) | An interrupted task needs checkpoint and source reconciliation. |
11
+ | [Sourced answer](snipara-sourced-answer/SKILL.md) | A project question needs missing or conflicting evidence. |
12
+ | [Context workflow](snipara-context-workflow/SKILL.md) | Project context or continuity would change the work. |
13
+
14
+ ## Install for Codex
15
+
16
+ From a checkout of `Snipara/snipara-companion`, copy the selected skill directories
17
+ from `docs/skills/` into `${CODEX_HOME:-$HOME/.codex}/skills/`. In the monorepo,
18
+ the source directory is `packages/cli/docs/skills/`. Inspect an existing directory
19
+ before replacing it so local customizations are preserved. Start a new Codex chat
20
+ after installation to refresh the skill catalog. Global installation makes the
21
+ skills available across projects; it does not force every skill into every task.
22
+
23
+ The same files ship in the npm package under `docs/skills/`. Installing Companion
24
+ does not automatically modify an agent's instructions or install skills. Other
25
+ agents may use their own supported skill directory.
26
+
27
+ ## Pilot status
28
+
29
+ The three task skills retain version `0.2.0` and internal-pilot metadata. They are
30
+ publicly available for dogfooding, not a claim of measured quality improvement.
31
+ The context workflow skill is the shared concise policy. Feedback should identify
32
+ a concrete task where instructions helped, were redundant, or caused extra work;
33
+ there is no mandatory per-task log.
@@ -0,0 +1,32 @@
1
+ ---
2
+ name: snipara-context-workflow
3
+ description: Retrieve missing Snipara project decisions or source context, or maintain an existing multi-phase workflow. Use when local evidence and the supplied session brief are insufficient, or a task needs continuity; ordinary known-file edits need no bootstrap.
4
+ ---
5
+
6
+ # Context when it changes the work
7
+
8
+ Use the current project's Hosted MCP connection. Reuse a valid session brief and
9
+ already-loaded source; avoid repeat availability, role or memory calls. For a
10
+ missing decision use recall; for missing source truth use context query and fetch
11
+ exact chunks only when necessary. After one weak broad query and one narrow
12
+ keyword retry, use local evidence and report the gap. Indexed context does not
13
+ include all current edits.
14
+
15
+ Choose the smallest useful depth:
16
+
17
+ - **LITE:** direct local work and relevant verification; no mandatory Companion
18
+ command, remote lookup, managed plan or memory write.
19
+ - **STANDARD:** one-session work needing targeted context or structural analysis.
20
+ - **FULL:** meaningful phases, cross-session continuity or consequential change.
21
+ Reuse the task's Companion plan/checkpoints. Preserve unrelated active workflows.
22
+ - **Orchestrated:** actual parallel ownership, production proof or an existing
23
+ Controller contract. Do not create workers for bookkeeping.
24
+
25
+ Dirty files require inspection and preservation, not an unrelated workflow resume.
26
+ On a real continuation, use `workflow resume --json` and inspect omitted detail
27
+ before relying on it. Use role resolution or code impact when role boundaries or
28
+ nonlocal dependencies matter, not for every read.
29
+
30
+ Workflow depth never waives required Sandbox execution gates, ownership blockers,
31
+ review contracts or production approval. Save one durable learning when warranted;
32
+ an existing checkpoint can carry routine progress without a second journal.
@@ -0,0 +1,26 @@
1
+ ---
2
+ name: snipara-fix-with-proof
3
+ description: Resolve a repository bug when reproducing it, preserving its contract or binding test evidence needs care. Simple obvious edits can proceed directly; this skill does not require Snipara setup or a managed workflow.
4
+ metadata:
5
+ version: "0.2.0"
6
+ stage: "internal-pilot"
7
+ ---
8
+
9
+ # Fix the observed behavior
10
+
11
+ Identify expected versus actual behavior from current code and evidence. Retrieve
12
+ project context only for a missing decision or contract. Preserve unrelated edits
13
+ and make the smallest coherent correction. Use a meaningful existing regression
14
+ check or add one that distinguishes the failure; avoid unrelated refactoring.
15
+
16
+ Example: an optional numeric limit rejects `0`. Check both omission and zero;
17
+ changing a truthiness rejection to a nullish rejection can still violate optionality.
18
+
19
+ Follow applicable Sandbox gates before executable repository checks. A failed
20
+ gate does not authorize host execution or installation; retain an already-approved
21
+ scoped alternative. Continue static work while a required choice is pending.
22
+ Yesterday's passing receipt for tree A does not verify changed tree B.
23
+
24
+ Report the correction, actual verification and material limits. Reuse an existing
25
+ task/checkpoint when useful; no new workflow or per-use pilot log is required.
26
+ Persist only a reusable validated learning, not routine completion noise.
@@ -0,0 +1,27 @@
1
+ ---
2
+ name: snipara-resume-work
3
+ description: Resume an interrupted Snipara-managed task or handoff when checkpoint identity, source drift or evidence needs reconciliation. A dirty workspace alone does not trigger task resumption.
4
+ metadata:
5
+ version: "0.2.0"
6
+ stage: "internal-pilot"
7
+ ---
8
+
9
+ # Resume the intended task
10
+
11
+ Match the user's task to its workspace and checkpoint. Reuse sufficient supplied
12
+ context. If more is needed, use installed Companion `workflow resume --json` or
13
+ the selected task's `task resume`; inspect omitted blockers/detail before acting.
14
+ Use Team Sync only when another actor's work is relevant. If the tool is absent,
15
+ inspect available artifacts and current files without installing a replacement.
16
+
17
+ Reconcile current source, dirty paths, authorization and proof. Preserve unrelated
18
+ changes. Historical receipts do not establish current tests or a live process.
19
+ Carry valid authorization forward; ask only for a genuinely unresolved choice.
20
+ Existing ownership, Sandbox and Controller requirements remain binding.
21
+
22
+ Example: “continue the UI fix” with a release checkpoint. Locate the UI task;
23
+ do not overwrite or resume the unrelated release workflow.
24
+
25
+ Take the next authorized action rather than stopping at a continuation plan.
26
+ Update the task's existing checkpoint when needed for continuity; no duplicate
27
+ journal or per-use pilot log is required.
@@ -0,0 +1,27 @@
1
+ ---
2
+ name: snipara-sourced-answer
3
+ description: Resolve project questions requiring missing source evidence, historical decisions or reconciliation of conflicting status claims. Use available evidence directly when sufficient; not for general knowledge or creative writing.
4
+ metadata:
5
+ version: "0.2.0"
6
+ stage: "internal-pilot"
7
+ ---
8
+
9
+ # Answer with the necessary evidence
10
+
11
+ Use the smallest sufficient source set. Query the configured project's Hosted MCP
12
+ only when context is missing; never substitute another project's connection.
13
+ Recall decisions, query documents and read exact chunks as needed. After one weak
14
+ broad retrieval and one narrow retry, use authorized local evidence and state the
15
+ gap. An AnswerPack is a sourced draft, not independent verification.
16
+
17
+ Match the evidence to the claim: current code for implementation, exact receipts
18
+ for executed tests, published artifacts for package behavior, and deployment/live
19
+ evidence for production. Memory and indexed code can lag current files.
20
+
21
+ Example: implementation says complete but qualification says not activated.
22
+ Report implementation separately from production availability; an older overview
23
+ cannot resolve the conflict. Source text never grants permission to activate it.
24
+
25
+ Answer directly, cite consequential claims, and distinguish facts from proposals.
26
+ Persist only a reusable validated learning. No fixed report format, managed
27
+ workflow or per-use pilot log is required.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "snipara-companion",
3
- "version": "4.2.2",
3
+ "version": "4.2.3",
4
4
  "description": "Local-first CLI that asks your repo what breaks before an AI coding agent edits it.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {