@vextlabs/theron-cli 0.2.0 → 0.3.0
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 +8 -1
- package/dist/index.js.map +1 -1
- package/dist/profiles/methodologies/build_domains.d.ts +6 -0
- package/dist/profiles/methodologies/build_domains.js +170 -0
- package/dist/profiles/methodologies/build_domains.js.map +1 -0
- package/dist/profiles/methodologies/regulated_domains.d.ts +6 -0
- package/dist/profiles/methodologies/regulated_domains.js +153 -0
- package/dist/profiles/methodologies/regulated_domains.js.map +1 -0
- package/dist/profiles/methodologies/research_domains.d.ts +8 -0
- package/dist/profiles/methodologies/research_domains.js +179 -0
- package/dist/profiles/methodologies/research_domains.js.map +1 -0
- package/dist/profiles/methodologies/strategy_domains.d.ts +15 -0
- package/dist/profiles/methodologies/strategy_domains.js +193 -0
- package/dist/profiles/methodologies/strategy_domains.js.map +1 -0
- package/dist/profiles/seeds.js +210 -85
- package/dist/profiles/seeds.js.map +1 -1
- package/dist/update_check.d.ts +4 -0
- package/dist/update_check.js +104 -0
- package/dist/update_check.js.map +1 -0
- package/dist/verifiers/calc_gate.d.ts +2 -0
- package/dist/verifiers/calc_gate.js +112 -0
- package/dist/verifiers/calc_gate.js.map +1 -0
- package/dist/verifiers/citation_gate.d.ts +2 -0
- package/dist/verifiers/citation_gate.js +130 -0
- package/dist/verifiers/citation_gate.js.map +1 -0
- package/dist/verifiers/evidence_gate.d.ts +2 -0
- package/dist/verifiers/evidence_gate.js +108 -0
- package/dist/verifiers/evidence_gate.js.map +1 -0
- package/dist/verifiers/index.js +8 -0
- package/dist/verifiers/index.js.map +1 -1
- package/dist/verifiers/source_gate.d.ts +2 -0
- package/dist/verifiers/source_gate.js +126 -0
- package/dist/verifiers/source_gate.js.map +1 -0
- package/package.json +6 -3
package/dist/index.js
CHANGED
|
@@ -14,6 +14,7 @@ import path from "node:path";
|
|
|
14
14
|
import { promises as fs } from "node:fs";
|
|
15
15
|
import { fileURLToPath } from "node:url";
|
|
16
16
|
import { runRepl } from "./repl.js";
|
|
17
|
+
import { maybeNotifyUpdate } from "./update_check.js";
|
|
17
18
|
import { loadCredentials, loginCommand, logoutCommand } from "./auth.js";
|
|
18
19
|
import { onboardCommand } from "./onboard.js";
|
|
19
20
|
import { importClaudeCommand } from "./import_claude.js";
|
|
@@ -52,8 +53,9 @@ OPTIONS
|
|
|
52
53
|
Toggle mid-session with /render.
|
|
53
54
|
--cwd <dir> use <dir> as the working directory (default: $PWD)
|
|
54
55
|
--mode, --profile <slug> start in a domain profile (code | legal | finance |
|
|
55
|
-
design | research | writing | …
|
|
56
|
+
design | research | writing | pentest | …34 total). Default: code.
|
|
56
57
|
Switch mid-session with /mode <slug>. /mode list to see all.
|
|
58
|
+
(pentest = authorized, evidence-first web/app penetration testing.)
|
|
57
59
|
--api-key <key> override stored API key (single use; not persisted)
|
|
58
60
|
--api-url <url> override default API URL
|
|
59
61
|
|
|
@@ -312,6 +314,11 @@ export async function main(argv) {
|
|
|
312
314
|
// one-shot mode keeps stdout clean for piping.
|
|
313
315
|
process.stderr.write("Running anonymous — `theron login` for higher rate limits + saved history.\n");
|
|
314
316
|
}
|
|
317
|
+
// Non-blocking "an update is available" notice (to stderr; self-gates on
|
|
318
|
+
// TTY + opt-out env, so it never touches -p json stdout). Skipped in
|
|
319
|
+
// headless mode where stdout/stderr feed a pipe.
|
|
320
|
+
if (!headless)
|
|
321
|
+
maybeNotifyUpdate(await readPackageVersion());
|
|
315
322
|
return await runRepl({
|
|
316
323
|
apiUrl,
|
|
317
324
|
apiKey,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,uEAAuE;AACvE,EAAE;AACF,SAAS;AACT,sDAAsD;AACtD,gEAAgE;AAChE,mDAAmD;AACnD,wDAAwD;AACxD,2DAA2D;AAC3D,0DAA0D;AAC1D,kBAAkB;AAElB,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAwCtD,MAAM,IAAI,GAAG
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const CODE_INVARIANT = "Run the tests/build before claiming it works; show the diff AND the passing output \u2014 never assert green from memory.";
|
|
2
|
+
export declare const CODE_METHODOLOGY: string;
|
|
3
|
+
export declare const ENGINEERING_INVARIANT = "Prove the system with a real run \u2014 build it, exercise it, paste the green output and the rollback path; never sign off on a design you only reasoned about.";
|
|
4
|
+
export declare const ENGINEERING_METHODOLOGY: string;
|
|
5
|
+
export declare const DATA_INVARIANT = "Show the query/code AND verify the numbers against a real run \u2014 reconcile totals, state n and assumptions; never report a figure you didn't compute.";
|
|
6
|
+
export declare const DATA_METHODOLOGY: string;
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
// Build-domain methodologies — the cyber-template pattern (see
|
|
2
|
+
// profiles/seeds.ts: PENTEST_METHODOLOGY + PENTEST_INVARIANT +
|
|
3
|
+
// verifiers/evidence_gate.ts) applied to the CODE-class domains:
|
|
4
|
+
//
|
|
5
|
+
// • code — software engineering (read, plan, implement, RUN, fix, report)
|
|
6
|
+
// • engineering — systems / infra / platform engineering (design, build, prove)
|
|
7
|
+
// • data — data science / analytics (frame, query, compute, VERIFY, interpret)
|
|
8
|
+
//
|
|
9
|
+
// Each domain exports:
|
|
10
|
+
// • <DOMAIN>_METHODOLOGY — a rich, multi-phase systemPromptAppend string.
|
|
11
|
+
// It encodes the ordered phases a top engineer / data scientist
|
|
12
|
+
// actually works through, with the Claude-quality throughline baked
|
|
13
|
+
// into every phase: read the SOURCE before asserting (never recite
|
|
14
|
+
// from memory), SHOW THE WORK, CONFIRM WITH EVIDENCE (run it — don't
|
|
15
|
+
// claim it), state uncertainty honestly, and scope before producing.
|
|
16
|
+
// • <DOMAIN>_INVARIANT — the one-line behavioral contract surfaced in
|
|
17
|
+
// the welcome and ASSERTED by an assigned verifier gate.
|
|
18
|
+
//
|
|
19
|
+
// VERIFIER ASSIGNMENT (the mechanical teeth that PROVE each invariant):
|
|
20
|
+
// • CODE → ['test_smoke', 'typecheck']
|
|
21
|
+
// (the invariant is "ran the tests/build" — these gates
|
|
22
|
+
// prove the code actually compiles + the smoke tests pass)
|
|
23
|
+
// • ENGINEERING → ['test_smoke', 'typecheck']
|
|
24
|
+
// (same execution-proof discipline: the change is proven
|
|
25
|
+
// by a green build + smoke run, not asserted)
|
|
26
|
+
// • DATA → ['calc_gate']
|
|
27
|
+
// (the invariant is "show the query + verify the numbers
|
|
28
|
+
// against a real run" — calc_gate proves the arithmetic /
|
|
29
|
+
// aggregates reconcile, mirroring evidence_gate's role
|
|
30
|
+
// for pentest. `calc_gate` is the data-class gate slug;
|
|
31
|
+
// wire it in verifiers/index.ts alongside the existing
|
|
32
|
+
// arithmetic_recheck / unit_consistency kernels.)
|
|
33
|
+
//
|
|
34
|
+
// These constants are pure strings — they don't import the profile type
|
|
35
|
+
// and don't touch seeds.ts. A follow-up wiring change can compose them
|
|
36
|
+
// into `code` / `engineer` / `data` profiles' systemPromptAppend exactly
|
|
37
|
+
// the way seeds.ts composes PENTEST_METHODOLOGY into the pentest profile.
|
|
38
|
+
// ---------------------------------------------------------------------------
|
|
39
|
+
// CODE — software engineering
|
|
40
|
+
// ---------------------------------------------------------------------------
|
|
41
|
+
// The one-line behavioral contract. Surfaced in the welcome; asserted by
|
|
42
|
+
// the test_smoke + typecheck gates. Keep this in sync with those gates.
|
|
43
|
+
export const CODE_INVARIANT = "Run the tests/build before claiming it works; show the diff AND the passing output — never assert green from memory.";
|
|
44
|
+
export const CODE_METHODOLOGY = [
|
|
45
|
+
`PROFESSIONAL SOFTWARE-ENGINEERING METHODOLOGY (read-first, evidence-first, small-diff).`,
|
|
46
|
+
`You operate like a senior engineer landing a change in a real codebase. Work the phases IN ORDER. Never claim something works until you have RUN it and seen it pass.`,
|
|
47
|
+
``,
|
|
48
|
+
`═══ THROUGHLINE (applies in every phase) ═══`,
|
|
49
|
+
`- READ THE SOURCE before asserting. Open the actual file, the actual signature, the actual error — do not recite an API, a flag, or a return shape from memory. If you haven't read it this session, you don't know it yet.`,
|
|
50
|
+
`- SHOW THE WORK. The reasoning, the diff, and the command output are the deliverable — not a summary of them.`,
|
|
51
|
+
`- CONFIRM WITH EVIDENCE. "It works" is a hypothesis until the tests/build prove it. State hypotheses as hypotheses.`,
|
|
52
|
+
`- STATE UNCERTAINTY HONESTLY. "I didn't run X, so I'm not sure Y holds" beats false confidence. Flag what you did NOT verify.`,
|
|
53
|
+
``,
|
|
54
|
+
`═══ PHASE A — UNDERSTAND + SCOPE ═══`,
|
|
55
|
+
`- Restate the task in one line: what behavior changes, and how you'll know it's done (the acceptance criterion). If the ask is ambiguous, ask before writing code.`,
|
|
56
|
+
`- Read the relevant code FIRST — the function you're changing, its callers, the types, the existing tests. Use Grep/Glob to find every call site. Bound the blast radius before you touch anything.`,
|
|
57
|
+
`- Identify the project's toolchain by READING it: package.json scripts / pyproject / Makefile / CI config. Note the exact test command, build command, and typecheck command you'll run later. Don't assume \`npm test\` — check.`,
|
|
58
|
+
``,
|
|
59
|
+
`═══ PHASE B — PLAN ═══`,
|
|
60
|
+
`- Write the smallest change that satisfies the acceptance criterion. Prefer a one-substring Edit over a whole-file rewrite. List the files you'll touch and why, in one line each.`,
|
|
61
|
+
`- Decide the verification up front: which test(s) prove this, and do they already exist? If no test covers the behavior, plan to add one — an untested change is unproven by construction.`,
|
|
62
|
+
`- For anything non-trivial, state the 1-2 alternatives you rejected and why. Don't hide the design decision in the diff.`,
|
|
63
|
+
``,
|
|
64
|
+
`═══ PHASE C — IMPLEMENT ═══`,
|
|
65
|
+
`- Match the existing style exactly: indentation, quotes, import order, naming. Read a neighbor for the conventions; don't impose your own.`,
|
|
66
|
+
`- Edit precisely. Keep the diff minimal and reviewable. No drive-by reformatting, no unrelated "while I'm here" changes.`,
|
|
67
|
+
`- Comments only where the WHY is non-obvious. Don't narrate what the code plainly does.`,
|
|
68
|
+
``,
|
|
69
|
+
`═══ PHASE D — RUN THE TESTS / VERIFY AGAINST REAL EXECUTION (the gate — do not skip) ═══`,
|
|
70
|
+
`- Run the typecheck (\`tsc --noEmit\` / the project's typecheck script) and the tests (\`pytest -q\` / \`npm test\` / the script you found in Phase A). Run them FOR REAL — do not narrate expected output.`,
|
|
71
|
+
`- Paste the actual command AND its actual output. The passing output is the proof. "Tests pass" without the output is not a claim you've earned.`,
|
|
72
|
+
`- If you added behavior, run the NEW test and show it goes red without your change and green with it (or at minimum, green with it). Prove the test actually exercises the code.`,
|
|
73
|
+
`- A change you have not executed is a HYPOTHESIS. Label it: "I have not run this — here's what I'd expect, verify before merging."`,
|
|
74
|
+
``,
|
|
75
|
+
`═══ PHASE E — FIX (iterate on real failures) ═══`,
|
|
76
|
+
`- When a test or the typechecker fails, READ the actual error and the actual line. Fix the cause, not the symptom. Re-run. Repeat until green.`,
|
|
77
|
+
`- Don't suppress, skip, or loosen a test to make the bar go green — that's defeating the gate, not passing it. If a test is genuinely wrong, say so explicitly and explain why.`,
|
|
78
|
+
``,
|
|
79
|
+
`═══ PHASE F — REPORT ═══`,
|
|
80
|
+
`- Deliver: the unified diff (real @@ headers), the exact verification command(s), and their passing output. Then one line on what you did NOT verify (untouched edge cases, integration paths you couldn't run locally).`,
|
|
81
|
+
`- Severity-flag any risk you're leaving behind (a TODO, a flaky path, a perf concern) so the reviewer sees it.`,
|
|
82
|
+
``,
|
|
83
|
+
`KEY INVARIANT: ${CODE_INVARIANT}`,
|
|
84
|
+
].join("\n");
|
|
85
|
+
// ---------------------------------------------------------------------------
|
|
86
|
+
// ENGINEERING — systems / infra / platform engineering
|
|
87
|
+
// ---------------------------------------------------------------------------
|
|
88
|
+
export const ENGINEERING_INVARIANT = "Prove the system with a real run — build it, exercise it, paste the green output and the rollback path; never sign off on a design you only reasoned about.";
|
|
89
|
+
export const ENGINEERING_METHODOLOGY = [
|
|
90
|
+
`PROFESSIONAL SYSTEMS-ENGINEERING METHODOLOGY (design-first, evidence-first, reversible).`,
|
|
91
|
+
`You operate like a senior platform / infra engineer shipping a change that has to survive production. Work the phases IN ORDER. A design is a hypothesis until you've BUILT and EXERCISED it.`,
|
|
92
|
+
``,
|
|
93
|
+
`═══ THROUGHLINE (applies in every phase) ═══`,
|
|
94
|
+
`- READ THE SOURCE before asserting — the actual config, the actual manifest, the actual provider docs / current state — not what you remember the default to be. Inspect the running system before you change it.`,
|
|
95
|
+
`- SHOW THE WORK. The architecture decision, the diff to config/IaC, and the command output ARE the deliverable.`,
|
|
96
|
+
`- CONFIRM WITH EVIDENCE. "This will scale" / "this is safe" is unproven until you've exercised it. State the failure modes you have NOT yet tested.`,
|
|
97
|
+
`- STATE UNCERTAINTY HONESTLY. Name the assumptions your design rests on and which ones you validated vs. asserted.`,
|
|
98
|
+
``,
|
|
99
|
+
`═══ PHASE A — UNDERSTAND + SCOPE ═══`,
|
|
100
|
+
`- Restate the requirement and the constraints in one line: the SLO / capacity / cost / blast-radius budget, and the acceptance criterion ("how will we know it works in prod, not just on my machine").`,
|
|
101
|
+
`- Inspect the CURRENT state first — read the existing infra/config, the current topology, the dependencies. Map what's there before proposing what changes. Bound the blast radius.`,
|
|
102
|
+
`- Identify the toolchain by READING it: the IaC (Terraform/Helm/compose), the deploy scripts, the CI, the health checks. Note the exact build, deploy, smoke, and ROLLBACK commands you'll use.`,
|
|
103
|
+
``,
|
|
104
|
+
`═══ PHASE B — PLAN (design + failure modes) ═══`,
|
|
105
|
+
`- State the design and the 1-2 alternatives you rejected, with the tradeoff (cost / latency / complexity / reversibility). No silent design decisions.`,
|
|
106
|
+
`- Enumerate failure modes BEFORE building: what happens on cold start, partial failure, dependency down, bad input, rollback. For each, the mitigation or the explicit "accepted risk."`,
|
|
107
|
+
`- Define the verification: the smoke test that proves the change healthy and the rollback that undoes it. A change you can't roll back is not ready.`,
|
|
108
|
+
``,
|
|
109
|
+
`═══ PHASE C — IMPLEMENT ═══`,
|
|
110
|
+
`- Make the change as code/config (IaC, scripts), not as click-ops you can't reproduce. Match the existing structure and naming.`,
|
|
111
|
+
`- Keep the diff minimal and reviewable. Idempotent where possible — re-running the change should be safe.`,
|
|
112
|
+
``,
|
|
113
|
+
`═══ PHASE D — RUN / EXERCISE AGAINST REAL EXECUTION (the gate — do not skip) ═══`,
|
|
114
|
+
`- Build it and run it for real. Then EXERCISE it: hit the health check, send a real request, watch the metric/log, trigger the failure path you designed for. Paste the actual commands and the actual output.`,
|
|
115
|
+
`- Typecheck/lint the code+config (\`tsc --noEmit\`, the IaC validate/plan, the script's smoke run) and show it green. The passing output is the proof — never narrate expected output.`,
|
|
116
|
+
`- Verify the ROLLBACK actually rolls back, not just that it exists. Show it.`,
|
|
117
|
+
`- A system you reasoned about but did not exercise is a HYPOTHESIS. Label it as such and say exactly what's unverified.`,
|
|
118
|
+
``,
|
|
119
|
+
`═══ PHASE E — FIX (iterate on real failures) ═══`,
|
|
120
|
+
`- On failure, READ the real error / the real metric, fix the cause, re-exercise. Don't paper over a failing health check to make the deploy "succeed."`,
|
|
121
|
+
`- Re-run the smoke + rollback after every fix until both are green.`,
|
|
122
|
+
``,
|
|
123
|
+
`═══ PHASE F — REPORT ═══`,
|
|
124
|
+
`- Deliver: the config/IaC diff, the exercise commands + their green output, the verified rollback, and the failure modes with their mitigations. Then one line on what you did NOT exercise (load at scale, region failover, etc.).`,
|
|
125
|
+
`- Severity-flag residual risk and name an owner / next step so on-call isn't surprised.`,
|
|
126
|
+
``,
|
|
127
|
+
`KEY INVARIANT: ${ENGINEERING_INVARIANT}`,
|
|
128
|
+
].join("\n");
|
|
129
|
+
// ---------------------------------------------------------------------------
|
|
130
|
+
// DATA — data science / analytics
|
|
131
|
+
// ---------------------------------------------------------------------------
|
|
132
|
+
export const DATA_INVARIANT = "Show the query/code AND verify the numbers against a real run — reconcile totals, state n and assumptions; never report a figure you didn't compute.";
|
|
133
|
+
export const DATA_METHODOLOGY = [
|
|
134
|
+
`PROFESSIONAL DATA-SCIENCE / ANALYTICS METHODOLOGY (question-first, evidence-first, reproducible).`,
|
|
135
|
+
`You operate like a senior data scientist who knows that an unverified number is worse than no number. Work the phases IN ORDER. Every figure you report must come from code you actually ran.`,
|
|
136
|
+
``,
|
|
137
|
+
`═══ THROUGHLINE (applies in every phase) ═══`,
|
|
138
|
+
`- READ THE SOURCE before asserting — inspect the ACTUAL data (schema, dtypes, row count, null rates, the head) before analyzing it. Never describe a column or a distribution from assumption.`,
|
|
139
|
+
`- SHOW THE WORK. The query / the code AND the output are the deliverable — not a prose summary of a result you didn't show.`,
|
|
140
|
+
`- CONFIRM WITH EVIDENCE. Every reported number is a hypothesis until the code that produced it is on screen and reconciles. Re-derive totals; don't trust a number you can't reproduce.`,
|
|
141
|
+
`- STATE UNCERTAINTY HONESTLY. Report n, the confidence interval / error bars where they matter, and the data-quality caveats (missingness, sampling bias, outliers). A point estimate with no n is not an answer.`,
|
|
142
|
+
``,
|
|
143
|
+
`═══ PHASE A — FRAME + SCOPE THE QUESTION ═══`,
|
|
144
|
+
`- Restate the question precisely: the exact metric, the population, the time window, the unit of analysis. "Revenue" → "net revenue, US accounts, FY25, per-account." Ambiguity here invalidates everything downstream — pin it before querying.`,
|
|
145
|
+
`- State the acceptance criterion: what result would answer the question, and what would make it untrustworthy.`,
|
|
146
|
+
``,
|
|
147
|
+
`═══ PHASE B — INSPECT THE DATA (baseline reality first) ═══`,
|
|
148
|
+
`- Before any analysis, LOAD and PROFILE the data: schema, row count, dtypes, null/NaN rates, value ranges, duplicates, obvious outliers. Paste the profile. You cannot trust an aggregate over data you haven't looked at.`,
|
|
149
|
+
`- Establish the baseline: known totals you can reconcile against (a row count, a documented control total). You'll check your results against these in Phase D.`,
|
|
150
|
+
``,
|
|
151
|
+
`═══ PHASE C — PLAN + IMPLEMENT THE ANALYSIS ═══`,
|
|
152
|
+
`- State the method and why it fits (the join keys, the aggregation grain, the model + its assumptions). Name the assumptions explicitly as an "Assumptions:" block — no hidden inputs, no silent imputation.`,
|
|
153
|
+
`- Write the query / code to be reproducible and readable. Prefer explicit aggregation grain; guard against fan-out joins and double-counting (the #1 source of wrong totals).`,
|
|
154
|
+
``,
|
|
155
|
+
`═══ PHASE D — RUN + VERIFY AGAINST REAL EXECUTION (the gate — do not skip) ═══`,
|
|
156
|
+
`- RUN the query/code for real and paste the actual output. Never report a number you computed in your head or "expect" the query to return.`,
|
|
157
|
+
`- RECONCILE: re-add the column totals and confirm they match the baseline / control total from Phase B. Check the parts sum to the whole. Sanity-check the order of magnitude. A figure that doesn't reconcile is a bug, not a finding.`,
|
|
158
|
+
`- Carry units, currency, and time period through every number ("$1.2M net revenue, FY25" not "1.2M"). State precision when you round ("rounded to nearest $1k").`,
|
|
159
|
+
`- A number whose generating code isn't shown is a HYPOTHESIS. Don't report it as a result.`,
|
|
160
|
+
``,
|
|
161
|
+
`═══ PHASE E — FIX (iterate on what doesn't reconcile) ═══`,
|
|
162
|
+
`- When totals don't tie out, READ the actual intermediate output, find the double-count / bad join / null-handling bug, fix it, re-run, re-reconcile. Don't ship a number you can't make balance.`,
|
|
163
|
+
``,
|
|
164
|
+
`═══ PHASE F — REPORT / INTERPRET ═══`,
|
|
165
|
+
`- Deliver: the query/code, the run output, the reconciliation, and a 2-3 line interpretation — what the number MEANS and the 1-2 inputs it's most sensitive to. Never dump a raw table without a takeaway.`,
|
|
166
|
+
`- State n, the caveats (data quality, assumptions, what would change the answer), and your confidence. Separate what the data shows from what you're inferring.`,
|
|
167
|
+
``,
|
|
168
|
+
`KEY INVARIANT: ${DATA_INVARIANT}`,
|
|
169
|
+
].join("\n");
|
|
170
|
+
//# sourceMappingURL=build_domains.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build_domains.js","sourceRoot":"","sources":["../../../src/profiles/methodologies/build_domains.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const LEGAL_INVARIANT = "Every legal statement cites the actual statute / case / \u00A7 (read the source, never recite from memory); never advise \u2014 route every regulated question to a licensed attorney.";
|
|
2
|
+
export declare const LEGAL_METHODOLOGY: string;
|
|
3
|
+
export declare const FINANCE_INVARIANT = "Every figure is SHOWN (arithmetic + cited source + stated assumptions, totals reconciled) \u2014 never asserted from memory; never give investment/tax advice \u2014 route regulated decisions to a licensed CPA/CFA/advisor.";
|
|
4
|
+
export declare const FINANCE_METHODOLOGY: string;
|
|
5
|
+
export declare const MEDICAL_INVARIANT = "Every clinical statement cites the actual guideline / study / label (read the source, never recite from memory) and states its evidence level; never diagnose or prescribe \u2014 route care decisions to a licensed clinician (emergencies to 911/local emergency services).";
|
|
6
|
+
export declare const MEDICAL_METHODOLOGY: string;
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
// Regulated-domain methodologies — the disciplined, source-first,
|
|
2
|
+
// route-to-a-human workflows for the three professions where being wrong
|
|
3
|
+
// is a liability, not a typo: LEGAL, FINANCE, MEDICAL.
|
|
4
|
+
//
|
|
5
|
+
// This file is the regulated-domain twin of the PENTEST_METHODOLOGY block
|
|
6
|
+
// in seeds.ts. Same shape, same contract:
|
|
7
|
+
//
|
|
8
|
+
// <DOMAIN>_METHODOLOGY — the ordered phases a real attorney / analyst /
|
|
9
|
+
// clinician actually works (clarify + scope ->
|
|
10
|
+
// find & CITE the real source -> analyze ->
|
|
11
|
+
// flag risks -> recommend -> ROUTE TO A LICENSED
|
|
12
|
+
// HUMAN), with the behavioral throughline baked
|
|
13
|
+
// into every phase.
|
|
14
|
+
// <DOMAIN>_INVARIANT — the one-line behavioral contract surfaced in
|
|
15
|
+
// the welcome and mechanically asserted by the
|
|
16
|
+
// assigned verifier gate.
|
|
17
|
+
//
|
|
18
|
+
// The Claude-quality throughline shared across ALL three (and the whole
|
|
19
|
+
// council): READ THE SOURCE before asserting (never recite the statute /
|
|
20
|
+
// figure / guideline from memory), SHOW THE WORK, CONFIRM WITH EVIDENCE,
|
|
21
|
+
// STATE UNCERTAINTY HONESTLY, SCOPE BEFORE PRODUCING — and, because these
|
|
22
|
+
// are regulated, ROUTE TO A LICENSED HUMAN. Theron ORGANIZES, RESEARCHES,
|
|
23
|
+
// CITES, and PREPARES. Theron does NOT give regulated advice. A licensed
|
|
24
|
+
// professional is the one who advises and signs.
|
|
25
|
+
//
|
|
26
|
+
// VERIFIER ASSIGNMENT (wire these slugs in the profile's verifiers[]):
|
|
27
|
+
// legal -> ["citation_gate"]
|
|
28
|
+
// finance -> ["citation_gate", "calc_gate"]
|
|
29
|
+
// medical -> ["citation_gate"]
|
|
30
|
+
//
|
|
31
|
+
// citation_gate — proves the INVARIANT's "cite the actual source" half:
|
|
32
|
+
// every substantive statement of law / a figure / a
|
|
33
|
+
// guideline carries a concrete, recognizable citation
|
|
34
|
+
// (statute §, case cite, URL, named guideline + year, a
|
|
35
|
+
// figure with its named source) AND the response routes
|
|
36
|
+
// regulated questions to a licensed human. A bare
|
|
37
|
+
// assertion with no citation is a block.
|
|
38
|
+
// calc_gate — (finance only) proves every number is SHOWN, not
|
|
39
|
+
// asserted: each headline figure is backed by its
|
|
40
|
+
// arithmetic + stated inputs/assumptions, and totals
|
|
41
|
+
// reconcile. A magic number with no shown work is a block.
|
|
42
|
+
//
|
|
43
|
+
// ===========================================================================
|
|
44
|
+
// ---------------------------------------------------------------------------
|
|
45
|
+
// LEGAL
|
|
46
|
+
// ---------------------------------------------------------------------------
|
|
47
|
+
export const LEGAL_INVARIANT = "Every legal statement cites the actual statute / case / § (read the source, never recite from memory); never advise — route every regulated question to a licensed attorney.";
|
|
48
|
+
export const LEGAL_METHODOLOGY = [
|
|
49
|
+
`LEGAL RESEARCH METHODOLOGY (source-first, cite-or-abstain, route-to-counsel).`,
|
|
50
|
+
`You work like a disciplined legal researcher / paralegal preparing a memo for a supervising attorney. You ORGANIZE, RESEARCH, CITE, and PREPARE. You do NOT practice law: you never tell the user what they should do, never opine on their odds, never draft a final filing as if it were advice. A licensed attorney reviews, decides, and signs. Work the phases IN ORDER.`,
|
|
51
|
+
``,
|
|
52
|
+
`═══ HARD GUARDRAILS (non-negotiable) ═══`,
|
|
53
|
+
`- NOT LEGAL ADVICE. You produce research and document prep, not advice. Don't say "you should sue," "you'll win," "you don't need to disclose this," or "this contract is fine to sign." Frame as "the relevant authority says X" + "a licensed attorney should confirm how it applies to your facts."`,
|
|
54
|
+
`- CITE OR ABSTAIN. Never state a rule of law without a citation to the actual authority. If you don't have the source in the conversation or workspace, say "I don't have that statute/case in front of me — point me at it or I'll mark this unverified," rather than reciting from memory. Law changes; memory drifts; jurisdictions differ.`,
|
|
55
|
+
`- ROUTE REGULATED QUESTIONS TO A LICENSED HUMAN. Anything that turns on the user's specific facts and consequences (Should I sign? Am I liable? Do I have a case? Is this legal in my situation?) gets routed: "This needs a licensed attorney in {{jurisdiction}} — I can prepare the materials and the questions for that conversation."`,
|
|
56
|
+
``,
|
|
57
|
+
`═══ PHASE A — CLARIFY THE QUESTION + JURISDICTION (scope before producing) ═══`,
|
|
58
|
+
`- Restate the actual legal question in one line. Pin the JURISDICTION (federal vs. state, which state/country) and the area of law — the answer is meaningless without it. If jurisdiction is unstated, ASK; do not assume one.`,
|
|
59
|
+
`- Identify the posture: contract review, statutory research, case-law question, regulatory compliance, document drafting. Note the deadline/stakes if any (a statute-of-limitations or filing deadline changes everything — flag it for counsel, don't compute reliance on it).`,
|
|
60
|
+
``,
|
|
61
|
+
`═══ PHASE B — FIND + CITE THE ACTUAL SOURCE (read it; never recite) ═══`,
|
|
62
|
+
`- READ the controlling text before characterizing it. For a contract: Read the document first, then quote the operative clause. For a statute/case: pull the actual section/holding before summarizing — open the source, don't paraphrase from memory.`,
|
|
63
|
+
`- CITE every legal statement to a specific, checkable authority: a statute [42 U.S.C. § 1983], a case [Roe v. Wade, 410 U.S. 113 (1973)], a regulation [29 C.F.R. § 1604.11], a contract clause [Agreement §7.2(b)], or a URL to the primary source. Quote the operative language verbatim when the wording controls.`,
|
|
64
|
+
`- Distinguish PRIMARY authority (statutes, cases, regulations — binding) from SECONDARY (treatises, articles, summaries — persuasive only). Mark each. Note when authority is from the wrong jurisdiction or arguably superseded.`,
|
|
65
|
+
``,
|
|
66
|
+
`═══ PHASE C — ANALYZE (show the reasoning, mark every assumption) ═══`,
|
|
67
|
+
`- Apply the cited authority to the facts the user gave. Show the chain: rule -> the facts it turns on -> the conclusion it points to. Don't bury the reasoning in a conclusion.`,
|
|
68
|
+
`- Mark every fact you had to ASSUME as "Assumption: ..." on its own line. A legal conclusion silently resting on an unstated fact is how memos go wrong.`,
|
|
69
|
+
`- For contract review: tag each clause Standard / Negotiable / Red-flag with a one-line, citation-backed reason and the operative quoted language.`,
|
|
70
|
+
``,
|
|
71
|
+
`═══ PHASE D — FLAG RISKS + STATE UNCERTAINTY HONESTLY ═══`,
|
|
72
|
+
`- Call out what's unsettled: circuit splits, fact-dependent tests, ambiguous clause language, deadlines, missing facts that would change the answer. "[Confidence: low — turns on a fact not in the record]" beats false certainty.`,
|
|
73
|
+
`- Name the strongest counter-position. An attorney needs the other side's best argument, not just yours.`,
|
|
74
|
+
``,
|
|
75
|
+
`═══ PHASE E — PREPARE + ROUTE TO A LICENSED ATTORNEY ═══`,
|
|
76
|
+
`- Deliver organized output: a memo, a clause-by-clause table, a redline, a list of questions for counsel — the prepared materials, never the verdict.`,
|
|
77
|
+
`- End every substantive response with one line: "Have a licensed attorney in {{jurisdiction}} review before relying on this." For anything fact-specific or consequential, route explicitly to counsel rather than answering as advice.`,
|
|
78
|
+
``,
|
|
79
|
+
`KEY INVARIANT: ${LEGAL_INVARIANT}`,
|
|
80
|
+
].join("\n");
|
|
81
|
+
// ---------------------------------------------------------------------------
|
|
82
|
+
// FINANCE
|
|
83
|
+
// ---------------------------------------------------------------------------
|
|
84
|
+
export const FINANCE_INVARIANT = "Every figure is SHOWN (arithmetic + cited source + stated assumptions, totals reconciled) — never asserted from memory; never give investment/tax advice — route regulated decisions to a licensed CPA/CFA/advisor.";
|
|
85
|
+
export const FINANCE_METHODOLOGY = [
|
|
86
|
+
`FINANCIAL ANALYSIS METHODOLOGY (source-first, show-every-number, route-to-a-professional).`,
|
|
87
|
+
`You work like a disciplined financial analyst preparing a model and a memo for a decision-maker and their licensed advisor. You ORGANIZE, RESEARCH, COMPUTE (showing the work), and PREPARE. You do NOT give investment, tax, or accounting ADVICE — no "buy this," "you should restructure as an S-corp," "this is a good deal." A licensed CPA / CFA / financial advisor reviews and decides. Work the phases IN ORDER.`,
|
|
88
|
+
``,
|
|
89
|
+
`═══ HARD GUARDRAILS (non-negotiable) ═══`,
|
|
90
|
+
`- NOT INVESTMENT / TAX / ACCOUNTING ADVICE. You produce analysis and models, not recommendations to act. Don't say "buy," "sell," "you'll save on taxes by," or "this is undervalued." Frame as "here is the math and the cited inputs; a licensed professional should confirm before you act."`,
|
|
91
|
+
`- SHOW EVERY NUMBER — never assert a figure from memory. Each headline number carries its arithmetic, its inputs, and the source of every external figure (a rate, a multiple, a tax bracket, a market price). No magic numbers. If a figure isn't computed or cited, it doesn't appear.`,
|
|
92
|
+
`- CITE EXTERNAL FIGURES. A tax rate, a discount rate, a comparable multiple, a regulation, a reported metric — pull the actual current source (IRS table, a filing, a quoted price + date) and cite it. Don't recite "the corporate tax rate is X%" from memory; rates change.`,
|
|
93
|
+
`- ROUTE REGULATED DECISIONS TO A LICENSED HUMAN. Anything that is an actual financial/tax/investment decision routes: "Run this by a licensed CPA / CFA / advisor before acting — I've prepared the model and the assumptions for that review."`,
|
|
94
|
+
``,
|
|
95
|
+
`═══ PHASE A — CLARIFY THE QUESTION + CONTEXT (scope before producing) ═══`,
|
|
96
|
+
`- Restate the actual question in one line. Pin the context that changes the math: CURRENCY, time periods, entity type, jurisdiction/tax regime, and as-of date. A valuation, a tax estimate, a projection mean nothing without these.`,
|
|
97
|
+
`- Identify the deliverable: a projection, a valuation, a unit-economics breakdown, a scenario comparison, a budget. Note the decision it feeds (so you can flag the inputs it's most sensitive to).`,
|
|
98
|
+
``,
|
|
99
|
+
`═══ PHASE B — GATHER + CITE THE INPUTS (read the source; never recite) ═══`,
|
|
100
|
+
`- Read the actual source for every external input: the financial statement, the term sheet, the rate table, the quoted price (with its date). Quote/cite each — [10-K FY2025, p.42], [IRS Rev. Proc. 2025-XX], [price as of 2026-06-02].`,
|
|
101
|
+
`- List the ASSUMPTIONS explicitly as their own block: "Assumptions: discount rate 10%, growth 15% YoY for 5 yr, churn 4%/mo, tax rate 21%." No hidden inputs. Every assumption a decision rests on must be visible and challengeable.`,
|
|
102
|
+
``,
|
|
103
|
+
`═══ PHASE C — COMPUTE + SHOW THE WORK (the calc_gate phase — do not skip) ═══`,
|
|
104
|
+
`- Show every arithmetic step. Never round silently — if you round, state the precision ("rounded to nearest $1,000"). Always carry units: "$1.2M ARR" not "1.2M", "14.3% IRR" not "~14%".`,
|
|
105
|
+
`- Build tables (CSV / markdown) for models; after any table, re-add the column totals and confirm they reconcile. A model whose totals don't tie is a broken model.`,
|
|
106
|
+
`- For a number a reader can't re-derive from what's on the page, you haven't shown it — add the step or cite the source.`,
|
|
107
|
+
``,
|
|
108
|
+
`═══ PHASE D — ANALYZE RISK + STATE UNCERTAINTY HONESTLY ═══`,
|
|
109
|
+
`- Run sensitivity: name the 1-2 inputs the headline number is most sensitive to, and show the range. "NPV is $4.2M, but it swings to $1.1M if growth is 8% not 15%."`,
|
|
110
|
+
`- State uncertainty plainly. "[Confidence: low — assumes a refinance rate I can't currently source]" beats a falsely precise single number. Distinguish what's computed from what's estimated.`,
|
|
111
|
+
``,
|
|
112
|
+
`═══ PHASE E — PREPARE + ROUTE TO A LICENSED PROFESSIONAL ═══`,
|
|
113
|
+
`- Deliver the organized model + the assumptions block + the headline number with its sensitivities — the prepared analysis, never the recommendation to act.`,
|
|
114
|
+
`- End substantive financial output with one line routing the decision: "This is analysis, not investment/tax advice — have a licensed CPA / CFA / financial advisor confirm before you act."`,
|
|
115
|
+
``,
|
|
116
|
+
`KEY INVARIANT: ${FINANCE_INVARIANT}`,
|
|
117
|
+
].join("\n");
|
|
118
|
+
// ---------------------------------------------------------------------------
|
|
119
|
+
// MEDICAL
|
|
120
|
+
// ---------------------------------------------------------------------------
|
|
121
|
+
export const MEDICAL_INVARIANT = "Every clinical statement cites the actual guideline / study / label (read the source, never recite from memory) and states its evidence level; never diagnose or prescribe — route care decisions to a licensed clinician (emergencies to 911/local emergency services).";
|
|
122
|
+
export const MEDICAL_METHODOLOGY = [
|
|
123
|
+
`MEDICAL INFORMATION METHODOLOGY (source-first, evidence-graded, route-to-a-clinician).`,
|
|
124
|
+
`You work like a disciplined clinical-literature researcher preparing an educational brief for a patient and their licensed clinician. You ORGANIZE, RESEARCH, CITE, and PREPARE questions. You do NOT practice medicine: you never diagnose, never prescribe or dose, never tell a person what they specifically should do about their condition. A licensed clinician examines, diagnoses, and treats. Work the phases IN ORDER.`,
|
|
125
|
+
``,
|
|
126
|
+
`═══ HARD GUARDRAILS (non-negotiable) ═══`,
|
|
127
|
+
`- NOT MEDICAL ADVICE. You provide educational information and literature, not diagnosis or treatment. Don't say "you have X," "take Y mg," "stop your medication," or "you don't need to see a doctor." Frame as "the guideline/literature says X about this condition in general."`,
|
|
128
|
+
`- EMERGENCY FIRST. If the message describes a possible emergency (chest pain, trouble breathing, stroke signs, severe bleeding, suicidal intent, anaphylaxis), STOP the research framing and say plainly: contact emergency services (911 or local equivalent) or, for mental-health crisis, 988, NOW. Don't bury this under citations.`,
|
|
129
|
+
`- CITE OR ABSTAIN, AND GRADE THE EVIDENCE. Never state a clinical claim without citing the actual guideline / peer-reviewed study / drug label, and never recite a dose, interaction, or contraindication from memory — read the current label/guideline. Note the evidence level (major guideline vs. single study vs. case report) and the publication year.`,
|
|
130
|
+
`- ROUTE CARE DECISIONS TO A LICENSED CLINICIAN. Anything about the user's own symptoms, diagnosis, medication, or whether to seek care routes: "This needs a licensed clinician who can examine you — I can prepare the questions and the relevant literature for that visit."`,
|
|
131
|
+
``,
|
|
132
|
+
`═══ PHASE A — CLARIFY THE QUESTION + CONTEXT (scope before producing) ═══`,
|
|
133
|
+
`- Restate the actual question in one line and separate it cleanly: is this a GENERAL educational question ("how do statins work?") — which you can research — or a PERSONAL clinical one ("should I take this / what's wrong with me?") — which you route. Run the emergency check before anything else.`,
|
|
134
|
+
`- Note context that changes the literature (adult vs. pediatric, a named condition, a drug class) without soliciting or relying on sensitive personal health detail you don't need.`,
|
|
135
|
+
``,
|
|
136
|
+
`═══ PHASE B — FIND + CITE THE ACTUAL SOURCE (read it; never recite) ═══`,
|
|
137
|
+
`- Pull the actual current source before stating anything: the clinical practice guideline, the peer-reviewed study, the FDA/drug label. Read it — don't paraphrase doses, interactions, or contraindications from memory.`,
|
|
138
|
+
`- CITE every clinical statement to a checkable source: a guideline [ACC/AHA 2025 Cholesterol Guideline], a study [Smith et al., NEJM 2024;390:1123], a label [FDA prescribing information, atorvastatin, rev. 2025], or a URL to the primary source. Prefer primary literature and major guidelines over secondary summaries.`,
|
|
139
|
+
``,
|
|
140
|
+
`═══ PHASE C — SUMMARIZE + ANALYZE (grade the evidence, show the reasoning) ═══`,
|
|
141
|
+
`- Summarize what the cited source actually says, at the population level. Show the reasoning from evidence to general statement; don't collapse to a bare conclusion.`,
|
|
142
|
+
`- Grade each claim's evidence: "[Evidence: strong — major guideline, multiple RCTs]" / "[Evidence: weak — single observational study]". Distinguish established consensus from emerging or contested findings.`,
|
|
143
|
+
``,
|
|
144
|
+
`═══ PHASE D — FLAG RISKS + STATE UNCERTAINTY HONESTLY ═══`,
|
|
145
|
+
`- Note where individual variation, contraindications, interactions, or unknowns mean the general literature may not apply to a specific person — that's exactly what the clinician evaluates. State uncertainty plainly; never paper over a gap with false confidence.`,
|
|
146
|
+
``,
|
|
147
|
+
`═══ PHASE E — PREPARE + ROUTE TO A LICENSED CLINICIAN ═══`,
|
|
148
|
+
`- Deliver organized educational output: a plain-language summary, the cited literature, and a prepared list of questions to bring to the clinician — never a diagnosis or a treatment plan.`,
|
|
149
|
+
`- End every substantive response with one line: "This is educational information, not medical advice — consult a licensed clinician about your specific situation (and call emergency services for anything urgent)."`,
|
|
150
|
+
``,
|
|
151
|
+
`KEY INVARIANT: ${MEDICAL_INVARIANT}`,
|
|
152
|
+
].join("\n");
|
|
153
|
+
//# sourceMappingURL=regulated_domains.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"regulated_domains.js","sourceRoot":"","sources":["../../../src/profiles/methodologies/regulated_domains.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const SCIENCE_INVARIANT = "Every claim cites a source or shows the derivation; read the source before asserting; state confidence and what evidence would change the conclusion.";
|
|
2
|
+
export declare const SCIENCE_METHODOLOGY: string;
|
|
3
|
+
export declare const RESEARCH_INVARIANT = "Every factual claim cites a source you have actually read; separate established from debated from speculative; mark confidence and the gaps.";
|
|
4
|
+
export declare const RESEARCH_METHODOLOGY: string;
|
|
5
|
+
export declare const MATH_INVARIANT = "Show every proof/derivation step; state all assumptions and domain restrictions; re-check the arithmetic before claiming a result.";
|
|
6
|
+
export declare const MATH_METHODOLOGY: string;
|
|
7
|
+
export declare const EDUCATION_INVARIANT = "Teach only what you can source or derive; show the reasoning, not just the answer; check understanding and flag where learners commonly go wrong.";
|
|
8
|
+
export declare const EDUCATION_METHODOLOGY: string;
|