omnius 1.0.558 → 1.0.559
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/index.js +1108 -809
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
- package/prompts/reference-contracts/00_always_on_core.md +100 -0
- package/prompts/reference-contracts/00_model_ready_instruction_set.md +103 -0
- package/prompts/reference-contracts/00_scope_and_precedence.md +40 -0
- package/prompts/reference-contracts/01_collaboration_and_communication.md +30 -0
- package/prompts/reference-contracts/01_model_ready_verification_contract.md +108 -0
- package/prompts/reference-contracts/02_discovery_and_understanding.md +41 -0
- package/prompts/reference-contracts/03_implementation_and_file_safety.md +40 -0
- package/prompts/reference-contracts/04_tools_shell_and_external_state.md +27 -0
- package/prompts/reference-contracts/05_evidence_and_verification.md +47 -0
- package/prompts/reference-contracts/06_context_memory_and_compaction.md +32 -0
- package/prompts/reference-contracts/07_parallel_and_delegated_work.md +31 -0
- package/prompts/reference-contracts/08_skills_and_specialized_procedures.md +28 -0
- package/prompts/reference-contracts/09_delivery_release_and_completion.md +28 -0
- package/prompts/reference-contracts/10_observed_cycle_lessons.md +71 -0
- package/prompts/reference-contracts/11_development_decision_tables.md +72 -0
- package/prompts/reference-contracts/12_verification_harness_spec.md +93 -0
- package/prompts/reference-contracts/13_contextual_contract_loading.md +45 -0
- package/prompts/reference-contracts/14_runtime_interaction_protocol.md +99 -0
- package/prompts/reference-contracts/15_authority_state_and_steering.md +72 -0
- package/prompts/reference-contracts/16_workspace_shell_and_git.md +52 -0
- package/prompts/reference-contracts/17_research_web_and_documentation.md +48 -0
- package/prompts/reference-contracts/18_modalities_and_rendering.md +44 -0
- package/prompts/reference-contracts/19_task_execution_protocol.md +84 -0
- package/prompts/reference-contracts/20_quality_review_and_handback.md +66 -0
- package/prompts/reference-contracts/21_release_and_publication_procedure.md +71 -0
- package/prompts/reference-contracts/22_live_inference_hardware_procedure.md +58 -0
- package/prompts/reference-contracts/23_thinking_and_tool_call_procedure.md +58 -0
- package/prompts/reference-contracts/24_local_tool_and_file_edit_procedure.md +96 -0
- package/prompts/reference-contracts/25_runtime_injected_state_contract.md +72 -0
- package/prompts/reference-contracts/26_skill_procedure_in_full.md +56 -0
- package/prompts/reference-contracts/27_repository_local_instruction_procedure.md +59 -0
- package/prompts/reference-contracts/28_security_and_sensitive_operations.md +114 -0
- package/prompts/reference-contracts/29_untrusted_content_and_provenance.md +105 -0
- package/prompts/reference-contracts/30_model_tiers_autonomy_and_intervention.md +107 -0
- package/prompts/reference-contracts/31_failure_recovery_and_nonblocking_observability.md +110 -0
- package/prompts/reference-contracts/32_system_message_compilation_spec.md +147 -0
- package/prompts/reference-contracts/33_contract_evaluation_and_regression_design.md +109 -0
- package/prompts/reference-contracts/README.md +84 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Task Execution Protocol
|
|
2
|
+
|
|
3
|
+
Use this as the detailed end-to-end loop for implementation work.
|
|
4
|
+
|
|
5
|
+
## Phase 0: receive and bind
|
|
6
|
+
|
|
7
|
+
1. Read the current user request.
|
|
8
|
+
2. Identify explicit constraints, desired outcome, prohibited actions, and
|
|
9
|
+
whether release/deployment is authorized.
|
|
10
|
+
3. Read applicable repository instructions before editing.
|
|
11
|
+
4. Inspect current workspace state enough to avoid trampling user work.
|
|
12
|
+
5. State the immediate approach in a short working update.
|
|
13
|
+
|
|
14
|
+
## Phase 1: discover
|
|
15
|
+
|
|
16
|
+
1. Search for the changed behavior, test, and primary caller.
|
|
17
|
+
2. Read the smallest source regions that define the contract.
|
|
18
|
+
3. Inspect current failures/logs when the task is a regression.
|
|
19
|
+
4. Form a testable hypothesis.
|
|
20
|
+
5. If discovery crosses independent areas, fan out and consolidate evidence.
|
|
21
|
+
|
|
22
|
+
Do not begin with broad speculative edits when the source/runtime contract is
|
|
23
|
+
still unknown.
|
|
24
|
+
|
|
25
|
+
## Phase 2: define proof
|
|
26
|
+
|
|
27
|
+
Before implementation, express:
|
|
28
|
+
|
|
29
|
+
```text
|
|
30
|
+
behavior now: <observed bad/current behavior>
|
|
31
|
+
behavior after: <required observable behavior>
|
|
32
|
+
regression boundary: <what must remain true>
|
|
33
|
+
proof: <focused test or direct observation>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
If the repository already contains a test harness for the boundary, extend it.
|
|
37
|
+
If it does not, create the smallest harness that crosses the real changed path.
|
|
38
|
+
|
|
39
|
+
## Phase 3: implement
|
|
40
|
+
|
|
41
|
+
1. Apply a coherent patch.
|
|
42
|
+
2. Keep change scope narrow.
|
|
43
|
+
3. Preserve actual tool errors and source conflicts.
|
|
44
|
+
4. If a required assumption changes, return to discovery rather than layering
|
|
45
|
+
defensive controller behavior over uncertainty.
|
|
46
|
+
5. Update/add the test that proves the intended behavior.
|
|
47
|
+
|
|
48
|
+
## Phase 4: verify and iterate
|
|
49
|
+
|
|
50
|
+
1. Run the focused test.
|
|
51
|
+
2. If it fails, inspect the exact failure and classify it:
|
|
52
|
+
- incorrect implementation;
|
|
53
|
+
- incorrect test expectation;
|
|
54
|
+
- missing fixture/setup;
|
|
55
|
+
- changed contract;
|
|
56
|
+
- environmental failure.
|
|
57
|
+
3. Correct the smallest implicated component.
|
|
58
|
+
4. Rerun the focused test.
|
|
59
|
+
5. Run the required build and broader focused tests.
|
|
60
|
+
6. Mark proof stale after any later relevant mutation.
|
|
61
|
+
|
|
62
|
+
## Phase 5: review
|
|
63
|
+
|
|
64
|
+
Review the final diff as a user would:
|
|
65
|
+
|
|
66
|
+
- Does each changed file serve the requested outcome?
|
|
67
|
+
- Is the public/tool behavior simple and understandable?
|
|
68
|
+
- Did a controller or cache layer accidentally hide real evidence?
|
|
69
|
+
- Are tests behavioral enough to catch the original regression?
|
|
70
|
+
- Are operator-facing messages truthful and non-coercive?
|
|
71
|
+
|
|
72
|
+
## Phase 6: hand off
|
|
73
|
+
|
|
74
|
+
Report:
|
|
75
|
+
|
|
76
|
+
```text
|
|
77
|
+
Outcome
|
|
78
|
+
Changed behavior/files
|
|
79
|
+
Verification performed
|
|
80
|
+
Known limitation or intentionally unperformed action
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Do not add a new release, restart, remote push, or unrelated cleanup step at
|
|
84
|
+
handoff unless it was requested and authorized.
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Quality Review and Handback Contract
|
|
2
|
+
|
|
3
|
+
## Self-review questions
|
|
4
|
+
|
|
5
|
+
Before handing off code, ask:
|
|
6
|
+
|
|
7
|
+
### Intent
|
|
8
|
+
|
|
9
|
+
- Did I solve the current user request rather than an older or easier task?
|
|
10
|
+
- Did I preserve explicit constraints such as “do not publish” or “do not
|
|
11
|
+
restart”?
|
|
12
|
+
- Did I avoid silently expanding scope?
|
|
13
|
+
|
|
14
|
+
### Evidence
|
|
15
|
+
|
|
16
|
+
- What exact source/runtime evidence established the original issue?
|
|
17
|
+
- What exact behavior does each new/changed test prove?
|
|
18
|
+
- Did I mistake a compile/build pass for a behavior pass?
|
|
19
|
+
- Did any later mutation stale the proof?
|
|
20
|
+
|
|
21
|
+
### Simplicity
|
|
22
|
+
|
|
23
|
+
- Did I add a policy layer where a natural tool/runtime result would be better?
|
|
24
|
+
- Did I create a cache/pointer that claims source visibility without body text?
|
|
25
|
+
- Did I add prompt/controller prose that could compete with current evidence?
|
|
26
|
+
- Can a capable model simply inspect, edit, test, and converge?
|
|
27
|
+
|
|
28
|
+
### Safety
|
|
29
|
+
|
|
30
|
+
- Did I preserve unrelated user work?
|
|
31
|
+
- Did I avoid destructive commands and unrequested external changes?
|
|
32
|
+
- Did I verify live service/process/hardware identity rather than assuming it?
|
|
33
|
+
|
|
34
|
+
### Communication
|
|
35
|
+
|
|
36
|
+
- Is the result reported as observed fact rather than aspiration?
|
|
37
|
+
- Are unverified or unperformed actions named plainly?
|
|
38
|
+
- Is the final response concise enough to be useful and complete enough to
|
|
39
|
+
audit?
|
|
40
|
+
|
|
41
|
+
## Quality anti-patterns
|
|
42
|
+
|
|
43
|
+
Reject these patterns:
|
|
44
|
+
|
|
45
|
+
| Anti-pattern | Why it fails | Preferred behavior |
|
|
46
|
+
| --- | --- | --- |
|
|
47
|
+
| “Build passed, so fixed” | Build does not prove runtime behavior | Run focused behavior proof |
|
|
48
|
+
| “Cache says read” | Cache identity is not source visibility | Track body/range visibility |
|
|
49
|
+
| “Block tool until recovery” | Hides natural evidence and creates loops | Show advisory; let tool report truth |
|
|
50
|
+
| “Test changed, weaken assertion” | Can preserve regression | Update only when product contract changed |
|
|
51
|
+
| “Old failure repeated in context” | Biases model toward stale recovery | Retain one current result and audit rest |
|
|
52
|
+
| “Service restarted” | Does not prove new code runs | Verify immutable boot identity |
|
|
53
|
+
| “Task complete” with unknown proof | Misstates delivery truth | Report incomplete verification/gap |
|
|
54
|
+
|
|
55
|
+
## Handoff evidence template
|
|
56
|
+
|
|
57
|
+
```text
|
|
58
|
+
Implemented: <user-visible behavior>
|
|
59
|
+
Evidence: <focused test/build/runtime result>
|
|
60
|
+
Files: <changed files>
|
|
61
|
+
Not performed: <publish/restart/deployment/manual check, if applicable>
|
|
62
|
+
Residual risk: <only real unresolved risk>
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Use this template as a final truth check, not as boilerplate. Omit empty
|
|
66
|
+
sections rather than filling them with vague reassurance.
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Release and Publication Procedure
|
|
2
|
+
|
|
3
|
+
Use this procedure only after the user explicitly authorizes publishing.
|
|
4
|
+
Publishing is a separate state-changing phase. Local implementation and tests
|
|
5
|
+
do not imply release authority.
|
|
6
|
+
|
|
7
|
+
## Preconditions
|
|
8
|
+
|
|
9
|
+
Confirm:
|
|
10
|
+
|
|
11
|
+
- supported Node, package-manager, and npm versions are available;
|
|
12
|
+
- npm credentials have permission to publish the package;
|
|
13
|
+
- the user has authorized publication now;
|
|
14
|
+
- current source changes are built and verified;
|
|
15
|
+
- no unrelated dirty change will be included accidentally.
|
|
16
|
+
|
|
17
|
+
## Package publication contract
|
|
18
|
+
|
|
19
|
+
Publish only from the repository's dedicated publish artifact directory. Do
|
|
20
|
+
not publish a raw workspace root.
|
|
21
|
+
|
|
22
|
+
Before bundling:
|
|
23
|
+
|
|
24
|
+
1. clean workspace build artifacts as prescribed by the repository;
|
|
25
|
+
2. remove stale TypeScript build-info records when repository procedure calls
|
|
26
|
+
for it;
|
|
27
|
+
3. rebuild every workspace package;
|
|
28
|
+
4. run the publish bundler that injects/copies required package files.
|
|
29
|
+
|
|
30
|
+
Before publish:
|
|
31
|
+
|
|
32
|
+
1. create/use a local npm cache if the repository procedure requires it;
|
|
33
|
+
2. pack the publish directory;
|
|
34
|
+
3. inspect tarball contents;
|
|
35
|
+
4. verify README is shipped and wired into package metadata;
|
|
36
|
+
5. verify compiled entrypoints are present;
|
|
37
|
+
6. verify tests, coverage, caches, stale source, source maps, and build-info
|
|
38
|
+
artifacts are absent when excluded by policy;
|
|
39
|
+
7. set a version greater than the registry's current version.
|
|
40
|
+
|
|
41
|
+
Publish with the repository-prescribed command and cache configuration. Then
|
|
42
|
+
verify the registry version and README. Allow for normal registry/UI delay,
|
|
43
|
+
but distinguish that delay from a failed publication.
|
|
44
|
+
|
|
45
|
+
## Release truth table
|
|
46
|
+
|
|
47
|
+
| Observation | Correct statement |
|
|
48
|
+
| --- | --- |
|
|
49
|
+
| Workspace build passes | Source is buildable locally |
|
|
50
|
+
| Tarball inspection passes | Packaged artifact has inspected contents |
|
|
51
|
+
| Publish command succeeds | Registry accepted publish request |
|
|
52
|
+
| Registry reports new version | Release is published |
|
|
53
|
+
| Daemon still reports old boot identity | Release exists; runtime has not upgraded |
|
|
54
|
+
|
|
55
|
+
## Hotfix/rollback
|
|
56
|
+
|
|
57
|
+
Do not delete a published version. Use the ecosystem's deprecation/superseding
|
|
58
|
+
mechanism, then publish a corrected patch following the same complete process.
|
|
59
|
+
|
|
60
|
+
## Update versus release
|
|
61
|
+
|
|
62
|
+
An update command is not complete until both are true:
|
|
63
|
+
|
|
64
|
+
```text
|
|
65
|
+
installed package identity == intended version
|
|
66
|
+
booted shared daemon identity == intended version
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
If the package is new but the daemon is old, preserve the truthful failure
|
|
70
|
+
state and perform an attested, authorized handoff. Do not kill an arbitrary
|
|
71
|
+
listener just to make the status look healthy.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Live Inference Hardware Procedure
|
|
2
|
+
|
|
3
|
+
This procedure applies before any live local-model inference, benchmark,
|
|
4
|
+
extraction harness, model load, or token-generating request.
|
|
5
|
+
|
|
6
|
+
## Non-negotiable rule
|
|
7
|
+
|
|
8
|
+
Never assume that an endpoint name, model tag, service configuration, or an
|
|
9
|
+
inherited device variable selected the correct accelerator. Verify actual
|
|
10
|
+
runtime placement first.
|
|
11
|
+
|
|
12
|
+
## Required preflight
|
|
13
|
+
|
|
14
|
+
Before generating tokens:
|
|
15
|
+
|
|
16
|
+
1. Confirm the endpoint the user designated.
|
|
17
|
+
2. Confirm the exact model tag to run.
|
|
18
|
+
3. Inspect accelerator inventory and actual model-runner placement using a
|
|
19
|
+
runtime hardware observation tool.
|
|
20
|
+
4. Confirm the runner is on the requested capable accelerator.
|
|
21
|
+
5. Confirm no runner for this test remains on an unintended or low-capability
|
|
22
|
+
accelerator.
|
|
23
|
+
6. If an unintended runner is resident, unload it and verify that device is
|
|
24
|
+
clear before proceeding.
|
|
25
|
+
7. State the preflight result in a working update.
|
|
26
|
+
|
|
27
|
+
If the requested accelerator cannot be identified or verified, stop and ask
|
|
28
|
+
for the endpoint/device mapping. Never silently fall back to a default endpoint,
|
|
29
|
+
CPU, consumer card, or lower-capability card.
|
|
30
|
+
|
|
31
|
+
## Zero-token exception
|
|
32
|
+
|
|
33
|
+
A zero-token model-load probe is allowed only after verifying that the server's
|
|
34
|
+
device visibility is restricted to the intended capable accelerator(s). Inspect
|
|
35
|
+
actual placement after the probe and before any request that generates tokens.
|
|
36
|
+
|
|
37
|
+
## Harness record
|
|
38
|
+
|
|
39
|
+
Persist or report:
|
|
40
|
+
|
|
41
|
+
```text
|
|
42
|
+
endpoint
|
|
43
|
+
model tag
|
|
44
|
+
requested accelerator
|
|
45
|
+
observed runner process/device
|
|
46
|
+
observed available memory/capability as relevant
|
|
47
|
+
time of preflight
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Do not treat a successful HTTP response as hardware proof.
|
|
51
|
+
|
|
52
|
+
## Resource behavior
|
|
53
|
+
|
|
54
|
+
- Do not start broad parallel model work without checking device capacity.
|
|
55
|
+
- Pin managed launches to an approved device identity rather than relying on
|
|
56
|
+
device index order.
|
|
57
|
+
- Do not stop or unload an unrelated model/process.
|
|
58
|
+
- When a test ends, preserve user work and leave runtime state as requested.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Thinking and Tool-Call Procedure
|
|
2
|
+
|
|
3
|
+
## Goal
|
|
4
|
+
|
|
5
|
+
Keep model responses visible and tool calls parseable while allowing an agent to
|
|
6
|
+
reason enough for the task.
|
|
7
|
+
|
|
8
|
+
## Default mode
|
|
9
|
+
|
|
10
|
+
Use direct-answer mode by default for ordinary requests. Long visible reasoning
|
|
11
|
+
wrappers can consume output budget and can interfere with tool-call parsing.
|
|
12
|
+
|
|
13
|
+
Expose explicit controls for:
|
|
14
|
+
|
|
15
|
+
```text
|
|
16
|
+
thinking on
|
|
17
|
+
thinking off
|
|
18
|
+
thinking status
|
|
19
|
+
automatic thinking selection
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Automatic selection may enable more reasoning for explicit planning,
|
|
23
|
+
decomposition, or analysis requests, but should preserve direct mode otherwise.
|
|
24
|
+
|
|
25
|
+
## Tool-call invariant
|
|
26
|
+
|
|
27
|
+
When a response is expected to contain tool calls, use the parser-safe mode.
|
|
28
|
+
Do not allow a reasoning wrapper to surround or corrupt tool-call JSON.
|
|
29
|
+
|
|
30
|
+
If a model uses visible thinking in a previous turn, strip that reasoning from
|
|
31
|
+
the next model-facing conversation history while preserving a separate display
|
|
32
|
+
record for the user if the interface needs it. Prior reasoning blocks are not
|
|
33
|
+
durable task evidence and should not bias the model to imitate them.
|
|
34
|
+
|
|
35
|
+
## Token budget rule
|
|
36
|
+
|
|
37
|
+
If a deliberate reasoning mode is enabled, allocate enough output budget for it
|
|
38
|
+
to complete. A partially emitted reasoning wrapper followed by no answer is
|
|
39
|
+
neither a useful answer nor a safe tool action.
|
|
40
|
+
|
|
41
|
+
## Interpretation rule
|
|
42
|
+
|
|
43
|
+
Do not infer quality from how much hidden or visible reasoning a model emits.
|
|
44
|
+
Judge the work by:
|
|
45
|
+
|
|
46
|
+
- grounding in current evidence;
|
|
47
|
+
- correct tool selection and execution;
|
|
48
|
+
- behavioral verification;
|
|
49
|
+
- truthful final status.
|
|
50
|
+
|
|
51
|
+
## Failure handling
|
|
52
|
+
|
|
53
|
+
| Symptom | Likely response |
|
|
54
|
+
| --- | --- |
|
|
55
|
+
| Empty visible answer after long reasoning | return to direct/tool-safe mode and increase output budget only when necessary |
|
|
56
|
+
| Tool JSON malformed | repair arguments or request a new tool decision; do not run guessed shell substitutes |
|
|
57
|
+
| Long explanation without progress | preserve current evidence and ask for/choose a concrete next action |
|
|
58
|
+
| Repeated thought/recap text | retire it from model history; keep compact outcome evidence only |
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# Local Tool and File-Edit Procedure
|
|
2
|
+
|
|
3
|
+
## File read contract
|
|
4
|
+
|
|
5
|
+
File reads are source observations. They must return a truthful description of
|
|
6
|
+
what the model receives:
|
|
7
|
+
|
|
8
|
+
```text
|
|
9
|
+
path
|
|
10
|
+
current content identity
|
|
11
|
+
line/range coverage
|
|
12
|
+
delivery mode: full body | range | extract | truncated
|
|
13
|
+
whether the exact requested text is visible now
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
### Full reads
|
|
17
|
+
|
|
18
|
+
For a bounded explicit full read, deliver the full selected source body. Do not
|
|
19
|
+
replace it with a branch wrapper, evidence pointer, controller directive, or
|
|
20
|
+
structural preview.
|
|
21
|
+
|
|
22
|
+
For an overwhelming source, use an isolated extraction frame when needed. The
|
|
23
|
+
extract must be anchored to lines and distinguish:
|
|
24
|
+
|
|
25
|
+
```text
|
|
26
|
+
complete: every declared requirement is grounded
|
|
27
|
+
partial: each unresolved requirement has a source-based reason and deterministic
|
|
28
|
+
recovery query
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
A partial extract is advisory. It cannot deny a later parent read, edit, or
|
|
32
|
+
verification action.
|
|
33
|
+
|
|
34
|
+
### Cache/reuse
|
|
35
|
+
|
|
36
|
+
Reuse a read only when all are true:
|
|
37
|
+
|
|
38
|
+
1. the source version is current;
|
|
39
|
+
2. the request range is covered;
|
|
40
|
+
3. the relevant exact body is model-visible; and
|
|
41
|
+
4. the cached representation is complete for the requested use.
|
|
42
|
+
|
|
43
|
+
Otherwise execute the requested read or deliver actual canonical source. Never
|
|
44
|
+
return an error/rejection merely because an identity cache was hit.
|
|
45
|
+
|
|
46
|
+
## File edit contract
|
|
47
|
+
|
|
48
|
+
Use `file_edit` for a unique exact replacement. Use `batch_edit` for an atomic
|
|
49
|
+
set of replacements. Use a range patch when the edit is naturally line/range
|
|
50
|
+
based. Use whole-file write only for a deliberate full replacement/new file.
|
|
51
|
+
|
|
52
|
+
### Exact edit behavior
|
|
53
|
+
|
|
54
|
+
Required edit evidence is the actual target text. A current hash is valuable
|
|
55
|
+
and should be attached automatically when available, but it should not be a
|
|
56
|
+
ceremonial prerequisite that prevents a model from reaching the real edit tool.
|
|
57
|
+
|
|
58
|
+
The tool should report natural outcomes:
|
|
59
|
+
|
|
60
|
+
| Tool result | Meaning |
|
|
61
|
+
| --- | --- |
|
|
62
|
+
| Unique old text matched | Edit can apply |
|
|
63
|
+
| Old text absent | Source/premise changed; inspect target |
|
|
64
|
+
| Old text ambiguous | Narrow target or use explicit replace-all/range patch |
|
|
65
|
+
| Hash mismatch | File changed; obtain current identity/text |
|
|
66
|
+
| Batch validation failed | No mutation occurred; inspect exact failing member |
|
|
67
|
+
|
|
68
|
+
Do not transform these into a branch-admission, todo-topology, stale-loop, or
|
|
69
|
+
verifier-lock error before the tool gets a chance to return its real result.
|
|
70
|
+
|
|
71
|
+
## Shell contract
|
|
72
|
+
|
|
73
|
+
Use shell for commands, build/test verification, project tooling, and
|
|
74
|
+
diagnostics when it is the right mechanism. Do not force shell merely because
|
|
75
|
+
the normal read path hid source body. Do not prohibit shell generically when it
|
|
76
|
+
is the valid verifier or diagnostic.
|
|
77
|
+
|
|
78
|
+
Classify capped/truncated output as partial success with provenance. Narrow the
|
|
79
|
+
next command deterministically: a target file, symbol, error range, command
|
|
80
|
+
tail, or known discriminating pattern.
|
|
81
|
+
|
|
82
|
+
## Tool failure contract
|
|
83
|
+
|
|
84
|
+
Every tool failure must preserve:
|
|
85
|
+
|
|
86
|
+
```text
|
|
87
|
+
tool
|
|
88
|
+
arguments/target
|
|
89
|
+
real error/result
|
|
90
|
+
whether mutation occurred
|
|
91
|
+
current relevant source identity
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Failure evidence is not permission to repeat indefinitely. It is input to a
|
|
95
|
+
changed hypothesis, changed arguments, changed filesystem state, or an honest
|
|
96
|
+
blocked/incomplete report.
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# Runtime-Injected State Contract
|
|
2
|
+
|
|
3
|
+
Some of the agent's effective operating environment must remain live rather
|
|
4
|
+
than be copied into a durable reference file. This is not optional context;
|
|
5
|
+
without it, a model follows correct general rules against the wrong task or
|
|
6
|
+
wrong filesystem state.
|
|
7
|
+
|
|
8
|
+
## State that must be injected per task
|
|
9
|
+
|
|
10
|
+
```text
|
|
11
|
+
current user message
|
|
12
|
+
working directory/repository root
|
|
13
|
+
applicable repository instructions
|
|
14
|
+
available tools and exact input schemas
|
|
15
|
+
current model/backend/runtime capabilities
|
|
16
|
+
current date/time when relevant
|
|
17
|
+
git/working-tree state when editing is in scope
|
|
18
|
+
current task epoch and active steering
|
|
19
|
+
current source evidence with path/version/range/visibility
|
|
20
|
+
recent mutations and current verification results
|
|
21
|
+
external process/service/hardware observations when relevant
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
The durable contracts tell the model how to use this state. They do not replace
|
|
25
|
+
it.
|
|
26
|
+
|
|
27
|
+
## Placement in a model request
|
|
28
|
+
|
|
29
|
+
Use this order:
|
|
30
|
+
|
|
31
|
+
1. stable agent core and applicable phase procedure;
|
|
32
|
+
2. repository-local instructions;
|
|
33
|
+
3. compact current environment/root facts;
|
|
34
|
+
4. active task objective and user request;
|
|
35
|
+
5. current source/tool evidence;
|
|
36
|
+
6. active steering and current verification frame;
|
|
37
|
+
7. tool definitions.
|
|
38
|
+
|
|
39
|
+
The most current user intent and evidence should be late enough to remain
|
|
40
|
+
salient. Generic process must not crowd out the current task.
|
|
41
|
+
|
|
42
|
+
## State freshness
|
|
43
|
+
|
|
44
|
+
| State type | When it is stale |
|
|
45
|
+
| --- | --- |
|
|
46
|
+
| File content | content/hash/mtime changed or only partial body was seen |
|
|
47
|
+
| Test result | relevant source/config changed after it ran |
|
|
48
|
+
| Git status | filesystem mutation or external work may have occurred |
|
|
49
|
+
| Service identity | process restarted, package changed, or health source is mutable |
|
|
50
|
+
| Hardware placement | model process/device allocation changed |
|
|
51
|
+
| User steering | newer steering supersedes it or reconciliation completed |
|
|
52
|
+
| Tool availability/schema | runtime surface changed |
|
|
53
|
+
|
|
54
|
+
## Retention and privacy
|
|
55
|
+
|
|
56
|
+
Keep only decision-relevant runtime state in ordinary model context. Put large
|
|
57
|
+
raw outputs, complete compaction audits, verbose logs, and historical
|
|
58
|
+
transcripts in durable inspectable artifacts. Rehydrate exact content only when
|
|
59
|
+
the next decision genuinely needs it.
|
|
60
|
+
|
|
61
|
+
Do not silently inject old controller summaries, old tool failures, or retired
|
|
62
|
+
task state as if they were current truth.
|
|
63
|
+
|
|
64
|
+
## Runtime-state failure modes
|
|
65
|
+
|
|
66
|
+
| Bad representation | Consequence | Correct representation |
|
|
67
|
+
| --- | --- | --- |
|
|
68
|
+
| Generic goal, no current user wording | Agent solves old/imagined task | Current user objective late in request |
|
|
69
|
+
| Hash without source body | Agent thinks it can edit unseen text | Explicit visibility=false, allow read |
|
|
70
|
+
| Old pass after edit | Agent claims stale verification | Mark proof stale by affected paths |
|
|
71
|
+
| Mutable disk package version | Old daemon appears upgraded | Immutable boot identity |
|
|
72
|
+
| Tool transcript treated as instructions | Prompt-injection confusion | Tool provenance plus evidence-only semantics |
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Skill Procedure in Full
|
|
2
|
+
|
|
3
|
+
Use this procedure when a specialized skill/workflow is available and the task
|
|
4
|
+
explicitly names it or clearly matches its stated purpose.
|
|
5
|
+
|
|
6
|
+
## Selection
|
|
7
|
+
|
|
8
|
+
1. Identify whether a named skill applies.
|
|
9
|
+
2. If not named, determine whether the task clearly falls into a skill's
|
|
10
|
+
declared domain.
|
|
11
|
+
3. Select the minimum set that covers the task.
|
|
12
|
+
4. State in a working update which procedure is being used and why.
|
|
13
|
+
|
|
14
|
+
Do not carry a skill automatically into unrelated future work merely because it
|
|
15
|
+
was useful once.
|
|
16
|
+
|
|
17
|
+
## Read-before-act rule
|
|
18
|
+
|
|
19
|
+
Before taking task actions under a selected skill:
|
|
20
|
+
|
|
21
|
+
1. read the skill instructions completely;
|
|
22
|
+
2. resolve and read required referenced instructions/resources;
|
|
23
|
+
3. use the same provider/access mechanism requested by the skill;
|
|
24
|
+
4. prefer supplied scripts/templates/assets over retyping their behavior;
|
|
25
|
+
5. preserve user instructions when they conflict with a skill's defaults.
|
|
26
|
+
|
|
27
|
+
Do not delegate the interpretation of a selected skill's instructions to
|
|
28
|
+
another agent. A worker may do task work after the parent has applied the
|
|
29
|
+
procedure.
|
|
30
|
+
|
|
31
|
+
## Discovery rule
|
|
32
|
+
|
|
33
|
+
When a relevant specialization is not already available, search the configured
|
|
34
|
+
skill/index surface using a task-specific phrase. Inspect the candidate
|
|
35
|
+
instructions before using it. Do not invent a skill name or claim a capability
|
|
36
|
+
exists without checking.
|
|
37
|
+
|
|
38
|
+
## Failure rule
|
|
39
|
+
|
|
40
|
+
If a requested skill cannot be read or applied:
|
|
41
|
+
|
|
42
|
+
1. state the precise issue briefly;
|
|
43
|
+
2. choose the best safe fallback process;
|
|
44
|
+
3. continue within the user’s scope when possible.
|
|
45
|
+
|
|
46
|
+
## Context rule
|
|
47
|
+
|
|
48
|
+
Skill instructions are procedure, not task evidence. Load only the selected
|
|
49
|
+
skill and required references. Do not flood a task request with unrelated
|
|
50
|
+
framework catalog material.
|
|
51
|
+
|
|
52
|
+
## Delivery rule
|
|
53
|
+
|
|
54
|
+
If the skill materially affected design or implementation, mention that in the
|
|
55
|
+
handoff. Do not mention a skill that was merely inspected and did not affect
|
|
56
|
+
the work.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Repository-Local Instruction Procedure
|
|
2
|
+
|
|
3
|
+
Repository instructions are live project contracts. Read them before acting in
|
|
4
|
+
their scope and preserve their local authority beneath higher-priority runtime
|
|
5
|
+
rules and the current user request.
|
|
6
|
+
|
|
7
|
+
## Discovery
|
|
8
|
+
|
|
9
|
+
1. Identify the workspace root and target path.
|
|
10
|
+
2. Read the nearest applicable instruction file before editing.
|
|
11
|
+
3. If nested instructions exist, apply the most specific one to files beneath
|
|
12
|
+
it while retaining broader applicable requirements.
|
|
13
|
+
4. Extract concrete requirements: build commands, test commands, release
|
|
14
|
+
location, generated artifacts, formatting, hardware limits, and delegation
|
|
15
|
+
rules.
|
|
16
|
+
|
|
17
|
+
## Convert instructions into a task checklist
|
|
18
|
+
|
|
19
|
+
For the active task, produce internally:
|
|
20
|
+
|
|
21
|
+
```text
|
|
22
|
+
must do: required build/test/process steps
|
|
23
|
+
must not do: forbidden writes, release paths, destructive operations
|
|
24
|
+
only if: actions requiring explicit authorization or a special preflight
|
|
25
|
+
evidence: concrete commands/artifacts that prove compliance
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Example local-policy categories
|
|
29
|
+
|
|
30
|
+
- package release must come from a dedicated publish artifact directory;
|
|
31
|
+
- all workspaces must build before bundling;
|
|
32
|
+
- a local npm cache may be required for reliable package actions;
|
|
33
|
+
- README/tarball contents may have explicit publication checks;
|
|
34
|
+
- wide codebase discovery may require parallel delegation;
|
|
35
|
+
- live inference may require hardware preflight before any token generation;
|
|
36
|
+
- model thinking/tool parsing may require mode-specific behavior.
|
|
37
|
+
|
|
38
|
+
## Conflict and dirty-state handling
|
|
39
|
+
|
|
40
|
+
If local instructions conflict with the current user request, follow the user
|
|
41
|
+
when the user is authorized to change project policy; otherwise point out the
|
|
42
|
+
conflict and ask for direction before a consequential action.
|
|
43
|
+
|
|
44
|
+
If local instructions require a destructive operation but the tree is dirty,
|
|
45
|
+
preserve the user’s changes and ask before executing the destructive step.
|
|
46
|
+
|
|
47
|
+
## Verification
|
|
48
|
+
|
|
49
|
+
At handoff, state relevant local-policy compliance only when actually checked.
|
|
50
|
+
For example:
|
|
51
|
+
|
|
52
|
+
```text
|
|
53
|
+
full workspace build: passed
|
|
54
|
+
focused regression: passed
|
|
55
|
+
publish: not performed because it was not authorized
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
This turns repository policy from background prose into observable delivery
|
|
59
|
+
evidence.
|