the-high-council 0.8.0 → 0.8.2
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/CONTRIBUTING.md +32 -5
- package/README.md +412 -83
- package/TROUBLESHOOTING.md +2 -2
- package/chains/advise-premium.json +144 -0
- package/chains/advise-single-astra.json +43 -0
- package/chains/advise-single-deepseek.json +43 -0
- package/chains/advise-single-gemini.json +43 -0
- package/chains/advise-single-glm-flash.json +40 -0
- package/chains/advise-single-opus.json +43 -0
- package/chains/advise-single-qwen.json +38 -0
- package/chains/advise-single.json +43 -0
- package/chains/advise-standard.json +85 -0
- package/chains/cheap-7-v2.json +69 -14
- package/chains/coder-gate-v1.json +23 -5
- package/chains/coder-gate-v2.json +20 -4
- package/chains/eu-only.json +22 -4
- package/chains/mock-advise-deep.json +51 -0
- package/chains/mock-advise-quick.json +36 -0
- package/chains/mock-advise-single.json +26 -0
- package/chains/mock-advise-standard.json +46 -0
- package/chains/plan-daily-7.json +278 -29
- package/chains/plan-debate-roles-c1.json +21 -12
- package/chains/plan-highest-7.json +312 -31
- package/chains/plan-lanes-4.json +95 -0
- package/chains/plan-open-7.json +44 -9
- package/chains/plan-premium-7.json +37 -2
- package/chains/single-vendor-anthropic.json +31 -5
- package/chains/single-vendor-openai.json +20 -5
- package/chains/us-only.json +26 -5
- package/chains/verify.json +27 -6
- package/package.json +4 -2
- package/schemas/contract-v1.json +71 -0
- package/schemas/gate-ledger-v1.json +56 -0
- package/schemas/gate-v1.json +46 -0
- package/schemas/report-v1.json +165 -15
- package/schemas/spend-reservations-v1.json +23 -0
- package/src/advice-brief.js +128 -0
- package/src/advice-guards.js +272 -0
- package/src/advice-mask.js +89 -0
- package/src/advice-retention.json +245 -0
- package/src/advice-run.js +187 -0
- package/src/advice-stop.js +37 -0
- package/src/advice-tier.js +140 -0
- package/src/advise-rate.js +53 -0
- package/src/advise.js +446 -0
- package/src/answer-back.js +90 -0
- package/src/api.js +5 -1
- package/src/audit.js +9 -2
- package/src/cache-integrity.js +4 -0
- package/src/canary.js +12 -2
- package/src/chain-lint.js +196 -6
- package/src/chain-name.js +19 -1
- package/src/chain.js +602 -271
- package/src/claims.js +2 -1
- package/src/cli.js +615 -117
- package/src/context-files.js +6 -0
- package/src/contract-cli.js +183 -0
- package/src/contract-draft.js +50 -0
- package/src/contract-lint.js +101 -0
- package/src/contract-record.js +509 -0
- package/src/cost.js +140 -34
- package/src/council-replay.js +2 -1
- package/src/criteria-kinds.js +11 -1
- package/src/criteria-ledger.js +64 -3
- package/src/criteria-lock.js +71 -9
- package/src/debate-order.js +48 -0
- package/src/denied-models.js +3 -1
- package/src/draft-disputes.js +95 -0
- package/src/dry-run.js +39 -10
- package/src/env-file.js +31 -0
- package/src/errors.js +7 -1
- package/src/gate-cli.js +204 -0
- package/src/gate-ledger.js +192 -0
- package/src/gate.js +407 -0
- package/src/handoff-contract-text.js +42 -0
- package/src/handoff-from-run.js +71 -11
- package/src/handoff-prompt.js +14 -0
- package/src/held-roles.js +20 -0
- package/src/key-env.js +39 -0
- package/src/lanes.js +21 -0
- package/src/mcp/advice.js +325 -0
- package/src/mcp/contract.js +72 -0
- package/src/mcp/server.js +249 -92
- package/src/mcp/untrusted.js +94 -0
- package/src/metrics.js +9 -2
- package/src/milestones.js +127 -0
- package/src/objection-ids.js +32 -0
- package/src/outbound-scan.js +3 -2
- package/src/outcome.js +5 -0
- package/src/pii-gate.js +6 -1
- package/src/policy.js +14 -5
- package/src/post-quotes.js +56 -0
- package/src/pricing.json +41 -18
- package/src/providers.js +228 -21
- package/src/reasoning-table.json +648 -0
- package/src/reasoning.js +260 -0
- package/src/report-shape.js +70 -8
- package/src/resume-brief.js +16 -4
- package/src/return-path.js +115 -0
- package/src/roles.js +427 -4
- package/src/run-budget.js +34 -0
- package/src/run-files.js +110 -0
- package/src/run-lock.js +23 -9
- package/src/run-status.js +74 -5
- package/src/scope-freeze.js +9 -3
- package/src/secret-patterns.js +7 -5
- package/src/security-review.js +8 -5
- package/src/seeded-shuffle.js +26 -0
- package/src/send-path-refusals.js +154 -0
- package/src/send-path.js +372 -0
- package/src/send-profiles.js +103 -0
- package/src/spend-reservations.js +79 -0
- package/src/spend.js +36 -8
- package/src/stage-contract.js +29 -7
- package/src/stage-submission.js +8 -4
- package/src/stop-files.js +79 -0
- package/src/superseded.js +17 -0
- package/src/text-fence.js +9 -0
- package/src/text-labels.js +81 -0
- package/src/thin-contract-check.js +88 -0
- package/src/thin-contract.js +60 -0
- package/src/tools.js +15 -1
- package/src/unpriced.js +18 -0
- package/src/verdict-stats.js +5 -1
- package/chains/cheap-7.json +0 -93
- package/chains/cheap.json +0 -35
- package/chains/gp-judge-v1.json +0 -104
- package/chains/idea-open-c2.json +0 -95
- package/chains/plan-auto-mistral.json +0 -101
- package/chains/plan-auto.json +0 -131
- package/chains/plan-cheap.json +0 -82
- package/chains/plan-debate-c2.json +0 -86
- package/chains/plan-debate-open-c2.json +0 -87
- package/chains/plan-debate.json +0 -116
- package/chains/plan-fast.json +0 -66
- package/chains/plan-proposals-best-of-5.json +0 -98
- package/chains/plan-proposals.json +0 -96
- package/chains/plan-relay.json +0 -83
- package/chains/plan-thorough.json +0 -82
- package/chains/plan-two-strong.json +0 -74
- package/chains/plan-unanimous.json +0 -82
- package/chains/seven-cheap.json +0 -67
- package/chains/seven.json +0 -55
- package/chains/smo-v2-cheap.json +0 -67
- package/chains/smo.json +0 -50
package/CONTRIBUTING.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# Contributing
|
|
2
2
|
|
|
3
3
|
This project has one maintainer. The bottleneck is reviewing pull requests, not writing code -
|
|
4
|
-
an unscoped PR costs more of that time than it saves. The
|
|
4
|
+
an unscoped PR costs more of that time than it saves. The four shapes below are pre-scoped and
|
|
5
5
|
easy to land; a PR outside them is welcome but will take longer to review, since it needs a scope
|
|
6
6
|
discussion first.
|
|
7
7
|
|
|
8
|
-
## The
|
|
8
|
+
## The four smallest landable contributions
|
|
9
9
|
|
|
10
10
|
1. **A new provider adapter** (`src/providers.js`). Every provider except `mock`/`external` speaks
|
|
11
11
|
either the Anthropic Messages API or the OpenAI chat-completions shape via `OPENAI_COMPAT`.
|
|
@@ -16,7 +16,7 @@ discussion first.
|
|
|
16
16
|
2. **A new chain config** (`chains/*.json`). A chain is data, not code - it names which seats run
|
|
17
17
|
which stages. `council doctor --chain chains/<yours>.json` lints it (the same rules every run
|
|
18
18
|
applies, including the denied-model and `key-host` rules), and `council doctor` prices it
|
|
19
|
-
worst-case, both with zero network calls; run both against your new file before opening a PR. Look at `chains/
|
|
19
|
+
worst-case, both with zero network calls; run both against your new file before opening a PR. Look at `chains/cheap-7-v2.json` or `chains/verify.json` as a starting
|
|
20
20
|
shape depending on whether you want a debate-and-panel chain or a single-critic chain.
|
|
21
21
|
|
|
22
22
|
3. **A new mock fixture** (`src/providers.js`'s `callMock`, exercised from `test/*.test.js`). If
|
|
@@ -26,6 +26,30 @@ discussion first.
|
|
|
26
26
|
`mock-provider-error` - for the shape: a model name that triggers one deterministic scripted
|
|
27
27
|
reply, documented with which real-world failure it stands in for.
|
|
28
28
|
|
|
29
|
+
4. **A change to a skill** (`skills/<name>/SKILL.md`). The bar is in [`skills/README.md`](skills/README.md):
|
|
30
|
+
a good proposal names the failure it prevents, where that failure was seen, and what the rule
|
|
31
|
+
should say. Skills are generic and public, so a change also passes the same leftover-content
|
|
32
|
+
check every skill shipped through: no project names, internal paths, private model or session
|
|
33
|
+
names, or third-party text copied in.
|
|
34
|
+
|
|
35
|
+
## Before you open a PR
|
|
36
|
+
|
|
37
|
+
These checks run in `npm test`, so they will fail a PR rather than surprise it in review:
|
|
38
|
+
|
|
39
|
+
- **No xAI/Grok seat in any chain.** Chain lint's `denied-model` rule refuses it, with no override.
|
|
40
|
+
- **A shipped chain's seats reason at high.** Chain lint's `reasoning-not-high` rule refuses a
|
|
41
|
+
setting that lowers a seat's reasoning effort.
|
|
42
|
+
- **Prompt wording lives in `src/roles.js` only.** Changing it fails `test/prompt-pin.test.js` on
|
|
43
|
+
purpose; say in the PR what the prompt now tells the model and why, and the maintainer re-records
|
|
44
|
+
the pin.
|
|
45
|
+
- **Documents that list what the repo holds are checked against it.** `skills/README.md`,
|
|
46
|
+
`docs/skills.html` and the landing page (`docs/index.html`) are compared with the repo by tests;
|
|
47
|
+
a failing one names the document to update.
|
|
48
|
+
- **Run output is never committed.** `runs/` is gitignored; keep it that way.
|
|
49
|
+
|
|
50
|
+
Two stances, where a PR is closed rather than scoped: bring-your-own-key only (no default key,
|
|
51
|
+
proxy or hosted path), and no claim about output quality until something has been measured.
|
|
52
|
+
|
|
29
53
|
## Everything else
|
|
30
54
|
|
|
31
55
|
Bug fixes, docs fixes, and typo fixes are always welcome with no scoping step. Anything larger -
|
|
@@ -35,7 +59,10 @@ from a diff.
|
|
|
35
59
|
|
|
36
60
|
## Running the tests
|
|
37
61
|
|
|
38
|
-
npm test
|
|
62
|
+
npm test # the whole suite
|
|
63
|
+
node --test test/chain.test.js # one file
|
|
64
|
+
node --test --test-name-pattern 'parseJson: raw newline' # one test
|
|
39
65
|
|
|
40
|
-
Offline, no API key, no network call, no cost.
|
|
66
|
+
Offline, no API key, no network call, no cost. The whole suite is over 2,000 tests and takes
|
|
67
|
+
several minutes; run the files you touched first. `node --test` matches the project's own test
|
|
41
68
|
runner - no additional test framework to install.
|