@eir-labs/coltrane 0.4.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/LICENSE +201 -0
- package/README.md +85 -0
- package/agents/anticipation-mapper.json +34 -0
- package/agents/claim-amender.json +34 -0
- package/agents/claim-architect.json +34 -0
- package/agents/claim-rewriter.json +32 -0
- package/agents/delivery-finalizer.json +40 -0
- package/agents/diamond-cutter.json +33 -0
- package/agents/disclosure-analyst.json +26 -0
- package/agents/domain-explorer.json +37 -0
- package/agents/e2e-runner.json +34 -0
- package/agents/e2e-suite-judge.json +26 -0
- package/agents/event-clusterer.json +29 -0
- package/agents/novelty-searcher.json +40 -0
- package/agents/patent-browser-scout.json +49 -0
- package/agents/patent-examiner.json +36 -0
- package/agents/phase_agents/claim-rewriter.md +44 -0
- package/agents/phase_agents/delivery-finalizer.md +30 -0
- package/agents/phase_agents/diamond-cutter.md +47 -0
- package/agents/phase_agents/domain-explorer.md +27 -0
- package/agents/phase_agents/novelty-searcher.md +50 -0
- package/agents/phase_agents/problem-definer.md +32 -0
- package/agents/phase_agents/solution-developer.md +26 -0
- package/agents/phase_agents/verdict-judger.md +70 -0
- package/agents/players/audience-modeler.md +40 -0
- package/agents/players/chain-audit-keeper.md +41 -0
- package/agents/players/illumination-reviewer.md +42 -0
- package/agents/players/methodology-cadence-keeper.md +42 -0
- package/agents/players/substrate-edge-keeper.md +45 -0
- package/agents/prior-art-scout.json +45 -0
- package/agents/problem-definer.json +35 -0
- package/agents/seeds/steve_seed_a.json +12 -0
- package/agents/seeds/steve_seed_b.json +12 -0
- package/agents/seeds/steve_seed_c.json +12 -0
- package/agents/seeds/steve_seed_d.json +12 -0
- package/agents/sensor.json +22 -0
- package/agents/solution-developer.json +35 -0
- package/agents/source-walker.json +38 -0
- package/agents/spec-drafter.json +31 -0
- package/agents/sub_thread_soft_judge.json +26 -0
- package/agents/sub_thread_trace_sensor.json +22 -0
- package/agents/summarizer.json +25 -0
- package/agents/synthesis-writer.json +29 -0
- package/agents/triage-judge.json +39 -0
- package/agents/user_flow_judge.json +26 -0
- package/agents/user_flow_sensor.json +22 -0
- package/agents/verdict-judger.json +39 -0
- package/core_types/artifact.json +17 -0
- package/core_types/interpretation.json +16 -0
- package/core_types/judgment.json +16 -0
- package/core_types/plan.json +16 -0
- package/core_types/signal.json +16 -0
- package/core_types/verdict.json +27 -0
- package/dist/src/access_grant.d.ts +46 -0
- package/dist/src/access_grant.js +76 -0
- package/dist/src/access_grant.js.map +1 -0
- package/dist/src/acoustics.d.ts +9 -0
- package/dist/src/acoustics.js +65 -0
- package/dist/src/acoustics.js.map +1 -0
- package/dist/src/agent_profile.d.ts +36 -0
- package/dist/src/agent_profile.js +57 -0
- package/dist/src/agent_profile.js.map +1 -0
- package/dist/src/bifrost_invoker.d.ts +33 -0
- package/dist/src/bifrost_invoker.js +85 -0
- package/dist/src/bifrost_invoker.js.map +1 -0
- package/dist/src/canonical_core_types.d.ts +2 -0
- package/dist/src/canonical_core_types.js +111 -0
- package/dist/src/canonical_core_types.js.map +1 -0
- package/dist/src/canonical_form.d.ts +55 -0
- package/dist/src/canonical_form.js +93 -0
- package/dist/src/canonical_form.js.map +1 -0
- package/dist/src/charter.d.ts +37 -0
- package/dist/src/charter.js +86 -0
- package/dist/src/charter.js.map +1 -0
- package/dist/src/circle_of_fifths.d.ts +27 -0
- package/dist/src/circle_of_fifths.js +78 -0
- package/dist/src/circle_of_fifths.js.map +1 -0
- package/dist/src/claude_invoker.d.ts +102 -0
- package/dist/src/claude_invoker.js +760 -0
- package/dist/src/claude_invoker.js.map +1 -0
- package/dist/src/coltrane_profile.d.ts +87 -0
- package/dist/src/coltrane_profile.js +132 -0
- package/dist/src/coltrane_profile.js.map +1 -0
- package/dist/src/composition.d.ts +57 -0
- package/dist/src/composition.js +447 -0
- package/dist/src/composition.js.map +1 -0
- package/dist/src/core_types.d.ts +6 -0
- package/dist/src/core_types.js +25 -0
- package/dist/src/core_types.js.map +1 -0
- package/dist/src/document_factory.d.ts +89 -0
- package/dist/src/document_factory.js +176 -0
- package/dist/src/document_factory.js.map +1 -0
- package/dist/src/genome_schema.d.ts +512 -0
- package/dist/src/genome_schema.js +168 -0
- package/dist/src/genome_schema.js.map +1 -0
- package/dist/src/genome_writer.d.ts +67 -0
- package/dist/src/genome_writer.js +179 -0
- package/dist/src/genome_writer.js.map +1 -0
- package/dist/src/gig_song.d.ts +29 -0
- package/dist/src/gig_song.js +56 -0
- package/dist/src/gig_song.js.map +1 -0
- package/dist/src/gig_tracker.d.ts +54 -0
- package/dist/src/gig_tracker.js +109 -0
- package/dist/src/gig_tracker.js.map +1 -0
- package/dist/src/harmonic_validation.d.ts +11 -0
- package/dist/src/harmonic_validation.js +35 -0
- package/dist/src/harmonic_validation.js.map +1 -0
- package/dist/src/hooks.d.ts +27 -0
- package/dist/src/hooks.js +2 -0
- package/dist/src/hooks.js.map +1 -0
- package/dist/src/index.d.ts +36 -0
- package/dist/src/index.js +37 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/jsong.d.ts +47 -0
- package/dist/src/jsong.js +130 -0
- package/dist/src/jsong.js.map +1 -0
- package/dist/src/judges/user_flow_judge.d.ts +89 -0
- package/dist/src/judges/user_flow_judge.js +200 -0
- package/dist/src/judges/user_flow_judge.js.map +1 -0
- package/dist/src/learner.d.ts +37 -0
- package/dist/src/learner.js +30 -0
- package/dist/src/learner.js.map +1 -0
- package/dist/src/ledger.d.ts +225 -0
- package/dist/src/ledger.js +306 -0
- package/dist/src/ledger.js.map +1 -0
- package/dist/src/loader.d.ts +87 -0
- package/dist/src/loader.js +504 -0
- package/dist/src/loader.js.map +1 -0
- package/dist/src/mcp.d.ts +23 -0
- package/dist/src/mcp.js +125 -0
- package/dist/src/mcp.js.map +1 -0
- package/dist/src/modulation_path.d.ts +42 -0
- package/dist/src/modulation_path.js +60 -0
- package/dist/src/modulation_path.js.map +1 -0
- package/dist/src/output_validation.d.ts +19 -0
- package/dist/src/output_validation.js +51 -0
- package/dist/src/output_validation.js.map +1 -0
- package/dist/src/outputs.d.ts +125 -0
- package/dist/src/outputs.js +452 -0
- package/dist/src/outputs.js.map +1 -0
- package/dist/src/overtones.d.ts +42 -0
- package/dist/src/overtones.js +98 -0
- package/dist/src/overtones.js.map +1 -0
- package/dist/src/player_to_claude_code.d.ts +17 -0
- package/dist/src/player_to_claude_code.js +141 -0
- package/dist/src/player_to_claude_code.js.map +1 -0
- package/dist/src/playwright_cage.d.ts +28 -0
- package/dist/src/playwright_cage.js +47 -0
- package/dist/src/playwright_cage.js.map +1 -0
- package/dist/src/polyphony.d.ts +46 -0
- package/dist/src/polyphony.js +91 -0
- package/dist/src/polyphony.js.map +1 -0
- package/dist/src/portfolio.d.ts +52 -0
- package/dist/src/portfolio.js +186 -0
- package/dist/src/portfolio.js.map +1 -0
- package/dist/src/pricing.d.ts +23 -0
- package/dist/src/pricing.js +16 -0
- package/dist/src/pricing.js.map +1 -0
- package/dist/src/registry.d.ts +46 -0
- package/dist/src/registry.js +199 -0
- package/dist/src/registry.js.map +1 -0
- package/dist/src/runtime.d.ts +304 -0
- package/dist/src/runtime.js +1099 -0
- package/dist/src/runtime.js.map +1 -0
- package/dist/src/server.d.ts +88 -0
- package/dist/src/server.js +1692 -0
- package/dist/src/server.js.map +1 -0
- package/dist/src/server_entry.d.ts +2 -0
- package/dist/src/server_entry.js +40 -0
- package/dist/src/server_entry.js.map +1 -0
- package/dist/src/server_relay.d.ts +82 -0
- package/dist/src/server_relay.js +341 -0
- package/dist/src/server_relay.js.map +1 -0
- package/dist/src/simulate.d.ts +60 -0
- package/dist/src/simulate.js +72 -0
- package/dist/src/simulate.js.map +1 -0
- package/dist/src/skill_runner.mjs +34 -0
- package/dist/src/skill_subprocess.d.ts +65 -0
- package/dist/src/skill_subprocess.js +132 -0
- package/dist/src/skill_subprocess.js.map +1 -0
- package/dist/src/skills.d.ts +85 -0
- package/dist/src/skills.js +258 -0
- package/dist/src/skills.js.map +1 -0
- package/dist/src/subthread_recorder.d.ts +68 -0
- package/dist/src/subthread_recorder.js +166 -0
- package/dist/src/subthread_recorder.js.map +1 -0
- package/dist/src/tensor_read.d.ts +38 -0
- package/dist/src/tensor_read.js +60 -0
- package/dist/src/tensor_read.js.map +1 -0
- package/dist/src/test_honest_broker.d.ts +34 -0
- package/dist/src/test_honest_broker.js +155 -0
- package/dist/src/test_honest_broker.js.map +1 -0
- package/dist/src/test_topology.d.ts +22 -0
- package/dist/src/test_topology.js +137 -0
- package/dist/src/test_topology.js.map +1 -0
- package/dist/src/tones.d.ts +20 -0
- package/dist/src/tones.js +81 -0
- package/dist/src/tones.js.map +1 -0
- package/dist/src/tool_providers.d.ts +45 -0
- package/dist/src/tool_providers.js +104 -0
- package/dist/src/tool_providers.js.map +1 -0
- package/dist/src/type_versioning.d.ts +23 -0
- package/dist/src/type_versioning.js +31 -0
- package/dist/src/type_versioning.js.map +1 -0
- package/dist/src/version.d.ts +28 -0
- package/dist/src/version.js +86 -0
- package/dist/src/version.js.map +1 -0
- package/domain_types/claim-draft.json +34 -0
- package/domain_types/coverage-report.json +31 -0
- package/domain_types/draft-agent-profile.json +31 -0
- package/domain_types/draft-domain-type.json +28 -0
- package/domain_types/draft-standard.json +46 -0
- package/domain_types/e2e-observation.json +32 -0
- package/domain_types/e2e-report.json +30 -0
- package/domain_types/e2e-target.json +26 -0
- package/domain_types/e2e-verdict.json +26 -0
- package/domain_types/examine-round-record.json +40 -0
- package/domain_types/examiner-rejection.json +28 -0
- package/domain_types/failure-modes.json +31 -0
- package/domain_types/invention-analysis.json +34 -0
- package/domain_types/invention-spec.json +34 -0
- package/domain_types/novelty-analysis.json +28 -0
- package/domain_types/novelty-verdict.json +35 -0
- package/domain_types/parsed-conversation-trace.json +38 -0
- package/domain_types/pattern-extraction.json +62 -0
- package/domain_types/prior-art-hit.json +50 -0
- package/domain_types/project-charter.json +71 -0
- package/domain_types/provisional-draft.json +34 -0
- package/domain_types/raw-note.json +19 -0
- package/domain_types/repo-survey.json +28 -0
- package/domain_types/seeding-verdict.json +70 -0
- package/domain_types/soft-verdict.json +55 -0
- package/domain_types/summary.json +19 -0
- package/domain_types/triage-verdict.json +59 -0
- package/domain_types/user-flow-transcript.json +43 -0
- package/domain_types/user-flow-verdict.json +60 -0
- package/domain_types/verdict-record.json +39 -0
- package/package.json +82 -0
- package/skills/citation-verify/fixtures/basic.json +14 -0
- package/skills/citation-verify/meta.json +10 -0
- package/skills/citation-verify/skill.mjs +26 -0
- package/skills/claim-element-decompose/fixtures/basic.json +11 -0
- package/skills/claim-element-decompose/meta.json +10 -0
- package/skills/claim-element-decompose/skill.mjs +14 -0
- package/skills/diamond-cutting-discipline/fixtures/basic.json +13 -0
- package/skills/diamond-cutting-discipline/meta.json +19 -0
- package/skills/diamond-cutting-discipline/skill.md +46 -0
- package/skills/element-mapping-matrix/fixtures/basic.json +13 -0
- package/skills/element-mapping-matrix/meta.json +10 -0
- package/skills/element-mapping-matrix/skill.mjs +20 -0
- package/skills/number-adder/fixtures/basic.json +9 -0
- package/skills/number-adder/meta.json +10 -0
- package/skills/number-adder/skill.mjs +12 -0
- package/skills/patent-fetch/fixtures/parse.json +18 -0
- package/skills/patent-fetch/meta.json +11 -0
- package/skills/patent-fetch/skill.mjs +34 -0
- package/skills/query-expand/fixtures/basic.json +14 -0
- package/skills/query-expand/meta.json +10 -0
- package/skills/query-expand/skill.mjs +29 -0
- package/skills/run-vitest-band/fixtures/basic.json +9 -0
- package/skills/run-vitest-band/meta.json +18 -0
- package/skills/run-vitest-band/skill.mjs +22 -0
- package/skills/statutory-checklist/fixtures/basic.json +16 -0
- package/skills/statutory-checklist/meta.json +10 -0
- package/skills/statutory-checklist/skill.mjs +25 -0
- package/skills/summarize-tight/fixtures/basic.json +13 -0
- package/skills/summarize-tight/meta.json +20 -0
- package/skills/summarize-tight/skill.md +1 -0
- package/skills/verdict-gate/fixtures/basic.json +9 -0
- package/skills/verdict-gate/meta.json +10 -0
- package/skills/verdict-gate/skill.mjs +82 -0
- package/standards/e2e-suite-v0.json +44 -0
- package/standards/patent-triage-v0.json +98 -0
- package/standards/patent-triage-v1.json +84 -0
- package/standards/seed-from-local-repos-v0.json +115 -0
- package/standards/sub_thread_invocation.json +50 -0
- package/standards/summarize.json +40 -0
- package/standards/synthesis-walk-v0.json +108 -0
- package/standards/user_flow_correctness.json +57 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type ChangeClass = "additive" | "modified" | "breaking";
|
|
2
|
+
interface JsonSchema {
|
|
3
|
+
type: "object";
|
|
4
|
+
properties: Record<string, unknown>;
|
|
5
|
+
required?: readonly string[];
|
|
6
|
+
}
|
|
7
|
+
export interface DomainTypeDef {
|
|
8
|
+
slug: string;
|
|
9
|
+
version: number;
|
|
10
|
+
extends: string;
|
|
11
|
+
domain: string;
|
|
12
|
+
status: "active" | "deprecated" | "retired";
|
|
13
|
+
schema: JsonSchema;
|
|
14
|
+
required_fields: readonly string[];
|
|
15
|
+
}
|
|
16
|
+
export interface TypeChangeProposal {
|
|
17
|
+
change_class: ChangeClass;
|
|
18
|
+
approval_required: boolean;
|
|
19
|
+
next_version: number;
|
|
20
|
+
old_version_stays: boolean;
|
|
21
|
+
}
|
|
22
|
+
export declare function proposeTypeChange(base: DomainTypeDef, next: DomainTypeDef): TypeChangeProposal;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export function proposeTypeChange(base, next) {
|
|
2
|
+
const baseFields = new Set(Object.keys(base.schema.properties));
|
|
3
|
+
const nextFields = new Set(Object.keys(next.schema.properties));
|
|
4
|
+
const baseRequired = new Set(base.required_fields);
|
|
5
|
+
const nextRequired = new Set(next.required_fields);
|
|
6
|
+
const removedFields = [...baseFields].filter((f) => !nextFields.has(f));
|
|
7
|
+
const newRequired = [...nextRequired].filter((f) => !baseRequired.has(f));
|
|
8
|
+
if (removedFields.length > 0) {
|
|
9
|
+
return {
|
|
10
|
+
change_class: "breaking",
|
|
11
|
+
approval_required: true,
|
|
12
|
+
next_version: base.version + 1,
|
|
13
|
+
old_version_stays: false,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
if (newRequired.length > 0) {
|
|
17
|
+
return {
|
|
18
|
+
change_class: "modified",
|
|
19
|
+
approval_required: false,
|
|
20
|
+
next_version: base.version + 1,
|
|
21
|
+
old_version_stays: true,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
return {
|
|
25
|
+
change_class: "additive",
|
|
26
|
+
approval_required: false,
|
|
27
|
+
next_version: base.version + 1,
|
|
28
|
+
old_version_stays: false,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=type_versioning.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type_versioning.js","sourceRoot":"","sources":["../../src/type_versioning.ts"],"names":[],"mappings":"AAyBA,MAAM,UAAU,iBAAiB,CAC/B,IAAmB,EACnB,IAAmB;IAEnB,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IAChE,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAEnD,MAAM,aAAa,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,MAAM,WAAW,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1E,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,YAAY,EAAE,UAAU;YACxB,iBAAiB,EAAE,IAAI;YACvB,YAAY,EAAE,IAAI,CAAC,OAAO,GAAG,CAAC;YAC9B,iBAAiB,EAAE,KAAK;SACzB,CAAC;IACJ,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO;YACL,YAAY,EAAE,UAAU;YACxB,iBAAiB,EAAE,KAAK;YACxB,YAAY,EAAE,IAAI,CAAC,OAAO,GAAG,CAAC;YAC9B,iBAAiB,EAAE,IAAI;SACxB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,YAAY,EAAE,UAAU;QACxB,iBAAiB,EAAE,KAAK;QACxB,YAAY,EAAE,IAAI,CAAC,OAAO,GAAG,CAAC;QAC9B,iBAAiB,EAAE,KAAK;KACzB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/** Engine semver. Keep in lockstep with package.json `version` (enforced by test). */
|
|
2
|
+
export declare const COLTRANE_VERSION = "0.4.0";
|
|
3
|
+
/**
|
|
4
|
+
* The commit this engine checkout is sitting on, or null when it can't be determined.
|
|
5
|
+
*
|
|
6
|
+
* Resolution order:
|
|
7
|
+
* 1. COLTRANE_BUILD_COMMIT — set it when baking an image from a source tree with no .git.
|
|
8
|
+
* This is the only source that is genuinely "the commit dist was built from".
|
|
9
|
+
* 2. The engine checkout's own .git/HEAD, read live (pure fs, no subprocess). A *pinned*
|
|
10
|
+
* checkout is detached, so HEAD holds the sha directly — exactly the case a consumer
|
|
11
|
+
* wants to verify. An attached branch is resolved one hop through .git/<ref>.
|
|
12
|
+
* 3. null — vendored without .git, or a packed-ref branch tip we won't guess at.
|
|
13
|
+
*
|
|
14
|
+
* Note the deliberate asymmetry in (2): COLTRANE_VERSION is compiled into dist, while the
|
|
15
|
+
* commit is read from the working checkout. They can therefore disagree — and that
|
|
16
|
+
* disagreement is the signal, not a bug. It is precisely how you catch an engine directory
|
|
17
|
+
* that was `git checkout`-ed to something else after it was built and pinned, which is the
|
|
18
|
+
* way a pin silently comes undone on a machine that is also a dev checkout.
|
|
19
|
+
*
|
|
20
|
+
* Deliberately a function, not a const: it touches the filesystem, and importing the
|
|
21
|
+
* engine should not pay for that unless someone asks.
|
|
22
|
+
*/
|
|
23
|
+
export declare function coltraneBuildCommit(): string | null;
|
|
24
|
+
/** Version + build commit in one call — what a consumer's boot-time handshake reads. */
|
|
25
|
+
export declare function coltraneIdentity(): {
|
|
26
|
+
version: string;
|
|
27
|
+
commit: string | null;
|
|
28
|
+
};
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
// The engine's version identity — the thing a consumer can assert against.
|
|
2
|
+
//
|
|
3
|
+
// Why this exists: coltrane is not published to npm, so downstreams vendor it as a
|
|
4
|
+
// git clone. Without an exported version there is no way for a consumer to answer
|
|
5
|
+
// "is the engine I just loaded the engine I was built against?" — the only available
|
|
6
|
+
// check was duck-typing two function names, which passes for *every* revision of the
|
|
7
|
+
// engine and therefore proves nothing. A version mismatch then surfaces as a contract
|
|
8
|
+
// failure deep inside a running gig, minutes and dollars in, instead of at boot.
|
|
9
|
+
//
|
|
10
|
+
// COLTRANE_VERSION is the single source of truth in code and MUST equal package.json's
|
|
11
|
+
// `version` — `tests/version_identity.test.ts` fails the build if they drift.
|
|
12
|
+
import { existsSync, readFileSync, statSync } from "node:fs";
|
|
13
|
+
import { dirname, join, resolve } from "node:path";
|
|
14
|
+
import { fileURLToPath } from "node:url";
|
|
15
|
+
/** Engine semver. Keep in lockstep with package.json `version` (enforced by test). */
|
|
16
|
+
export const COLTRANE_VERSION = "0.4.0";
|
|
17
|
+
/**
|
|
18
|
+
* The commit this engine checkout is sitting on, or null when it can't be determined.
|
|
19
|
+
*
|
|
20
|
+
* Resolution order:
|
|
21
|
+
* 1. COLTRANE_BUILD_COMMIT — set it when baking an image from a source tree with no .git.
|
|
22
|
+
* This is the only source that is genuinely "the commit dist was built from".
|
|
23
|
+
* 2. The engine checkout's own .git/HEAD, read live (pure fs, no subprocess). A *pinned*
|
|
24
|
+
* checkout is detached, so HEAD holds the sha directly — exactly the case a consumer
|
|
25
|
+
* wants to verify. An attached branch is resolved one hop through .git/<ref>.
|
|
26
|
+
* 3. null — vendored without .git, or a packed-ref branch tip we won't guess at.
|
|
27
|
+
*
|
|
28
|
+
* Note the deliberate asymmetry in (2): COLTRANE_VERSION is compiled into dist, while the
|
|
29
|
+
* commit is read from the working checkout. They can therefore disagree — and that
|
|
30
|
+
* disagreement is the signal, not a bug. It is precisely how you catch an engine directory
|
|
31
|
+
* that was `git checkout`-ed to something else after it was built and pinned, which is the
|
|
32
|
+
* way a pin silently comes undone on a machine that is also a dev checkout.
|
|
33
|
+
*
|
|
34
|
+
* Deliberately a function, not a const: it touches the filesystem, and importing the
|
|
35
|
+
* engine should not pay for that unless someone asks.
|
|
36
|
+
*/
|
|
37
|
+
export function coltraneBuildCommit() {
|
|
38
|
+
const fromEnv = process.env["COLTRANE_BUILD_COMMIT"]?.trim();
|
|
39
|
+
if (fromEnv)
|
|
40
|
+
return fromEnv;
|
|
41
|
+
try {
|
|
42
|
+
// Walk up to the engine root. Depth differs between built output (dist/src/version.js)
|
|
43
|
+
// and running from source under vitest (src/version.ts), so find it rather than assume.
|
|
44
|
+
let dir = dirname(fileURLToPath(import.meta.url));
|
|
45
|
+
let gitDir = null;
|
|
46
|
+
for (let i = 0; i < 6; i++) {
|
|
47
|
+
if (existsSync(join(dir, ".git"))) {
|
|
48
|
+
gitDir = join(dir, ".git");
|
|
49
|
+
break;
|
|
50
|
+
}
|
|
51
|
+
const up = resolve(dir, "..");
|
|
52
|
+
if (up === dir)
|
|
53
|
+
break;
|
|
54
|
+
dir = up;
|
|
55
|
+
}
|
|
56
|
+
if (!gitDir)
|
|
57
|
+
return null;
|
|
58
|
+
// In a linked worktree `.git` is a FILE holding `gitdir: <path>`, not a directory.
|
|
59
|
+
if (!statSync(gitDir).isDirectory()) {
|
|
60
|
+
const pointer = readFileSync(gitDir, "utf8").trim();
|
|
61
|
+
const m = /^gitdir:\s*(.+)$/m.exec(pointer);
|
|
62
|
+
if (!m?.[1])
|
|
63
|
+
return null;
|
|
64
|
+
gitDir = resolve(dir, m[1].trim());
|
|
65
|
+
}
|
|
66
|
+
const head = readFileSync(join(gitDir, "HEAD"), "utf8").trim();
|
|
67
|
+
if (/^[0-9a-f]{40}$/.test(head))
|
|
68
|
+
return head; // detached == pinned
|
|
69
|
+
const ref = head.startsWith("ref: ") ? head.slice(5).trim() : null;
|
|
70
|
+
if (!ref)
|
|
71
|
+
return null;
|
|
72
|
+
const refPath = join(gitDir, ref);
|
|
73
|
+
if (!existsSync(refPath))
|
|
74
|
+
return null; // packed-refs; not worth parsing
|
|
75
|
+
const sha = readFileSync(refPath, "utf8").trim();
|
|
76
|
+
return /^[0-9a-f]{40}$/.test(sha) ? sha : null;
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/** Version + build commit in one call — what a consumer's boot-time handshake reads. */
|
|
83
|
+
export function coltraneIdentity() {
|
|
84
|
+
return { version: COLTRANE_VERSION, commit: coltraneBuildCommit() };
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,EAAE;AACF,mFAAmF;AACnF,kFAAkF;AAClF,qFAAqF;AACrF,qFAAqF;AACrF,sFAAsF;AACtF,iFAAiF;AACjF,EAAE;AACF,uFAAuF;AACvF,8EAA8E;AAC9E,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,sFAAsF;AACtF,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC;AAExC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,IAAI,EAAE,CAAC;IAC7D,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC;IAE5B,IAAI,CAAC;QACH,uFAAuF;QACvF,wFAAwF;QACxF,IAAI,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,IAAI,MAAM,GAAkB,IAAI,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;gBAClC,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAC3B,MAAM;YACR,CAAC;YACD,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC9B,IAAI,EAAE,KAAK,GAAG;gBAAE,MAAM;YACtB,GAAG,GAAG,EAAE,CAAC;QACX,CAAC;QACD,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAEzB,mFAAmF;QACnF,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YACpD,MAAM,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;YACzB,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/D,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,qBAAqB;QACnE,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACnE,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,iCAAiC;QACxE,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACjD,OAAO,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,gBAAgB;IAC9B,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAAE,CAAC;AACtE,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slug": "claim-draft",
|
|
3
|
+
"version": 1,
|
|
4
|
+
"extends": "Plan",
|
|
5
|
+
"domain": "patent-triage",
|
|
6
|
+
"status": "active",
|
|
7
|
+
"schema": {
|
|
8
|
+
"type": "object",
|
|
9
|
+
"properties": {
|
|
10
|
+
"invention_id": {
|
|
11
|
+
"type": "string"
|
|
12
|
+
},
|
|
13
|
+
"independent_claims": {
|
|
14
|
+
"type": "array"
|
|
15
|
+
},
|
|
16
|
+
"dependent_claims": {
|
|
17
|
+
"type": "array"
|
|
18
|
+
},
|
|
19
|
+
"preamble": {
|
|
20
|
+
"type": "string"
|
|
21
|
+
},
|
|
22
|
+
"minimum_viable_text": {
|
|
23
|
+
"type": "string"
|
|
24
|
+
},
|
|
25
|
+
"caveat": {
|
|
26
|
+
"type": "string"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"required_fields": [
|
|
31
|
+
"independent_claims",
|
|
32
|
+
"steps"
|
|
33
|
+
]
|
|
34
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slug": "coverage-report",
|
|
3
|
+
"version": 1,
|
|
4
|
+
"extends": "Signal",
|
|
5
|
+
"domain": "patent-triage",
|
|
6
|
+
"status": "active",
|
|
7
|
+
"schema": {
|
|
8
|
+
"type": "object",
|
|
9
|
+
"properties": {
|
|
10
|
+
"corpora_searched": {
|
|
11
|
+
"type": "array"
|
|
12
|
+
},
|
|
13
|
+
"query_log": {
|
|
14
|
+
"type": "array"
|
|
15
|
+
},
|
|
16
|
+
"patent_hit_count": {
|
|
17
|
+
"type": "number"
|
|
18
|
+
},
|
|
19
|
+
"literature_hit_count": {
|
|
20
|
+
"type": "number"
|
|
21
|
+
},
|
|
22
|
+
"caveat": {
|
|
23
|
+
"type": "string"
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"required_fields": [
|
|
28
|
+
"corpora_searched",
|
|
29
|
+
"source"
|
|
30
|
+
]
|
|
31
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slug": "draft-agent-profile",
|
|
3
|
+
"version": 1,
|
|
4
|
+
"extends": "Artifact",
|
|
5
|
+
"domain": "seeding",
|
|
6
|
+
"status": "active",
|
|
7
|
+
"description": "Proposed agent_profile shape derived from pattern-extraction. Draft only — NOT promoted to the active fleet until user accepts. Includes a candidate .md frontmatter shape (for Claude Code subagent compile) + provenance back to the surveys.",
|
|
8
|
+
"schema": {
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"input_refs": { "type": "array", "items": { "type": "string" }, "description": "References to the pattern-extraction this draft is derived from." },
|
|
12
|
+
"slug": { "type": "string", "description": "Proposed agent slug, kebab-case." },
|
|
13
|
+
"description": { "type": "string", "description": "One-line description for the .claude/agents/<slug>.md frontmatter." },
|
|
14
|
+
"behavioral_primitives": { "type": "array", "items": { "type": "string" }, "description": "Proposed behavioral primitives (max 2 per coltrane convention)." },
|
|
15
|
+
"domain": { "type": "string", "description": "Proposed domain slug (inferred from the user's work)." },
|
|
16
|
+
"tools_allowlist": { "type": "array", "items": { "type": "string" }, "description": "Proposed coltrane MCP tools allowlist." },
|
|
17
|
+
"model_tier": { "type": "string", "enum": ["economy", "standard", "premium"] },
|
|
18
|
+
"code_tool_access": { "type": "string", "enum": ["none", "read", "write", "full"] },
|
|
19
|
+
"system_prompt_draft": { "type": "string", "description": "Draft body for the agent .md file — what Claude reads as system prompt when dispatched as this subagent." },
|
|
20
|
+
"evidence_summary": { "type": "string", "description": "Why this agent is proposed: which patterns + which repos." },
|
|
21
|
+
"user_acceptance": {
|
|
22
|
+
"type": "string",
|
|
23
|
+
"enum": ["pending", "accepted", "rejected", "refined"],
|
|
24
|
+
"default": "pending",
|
|
25
|
+
"description": "User's verdict at the seam: pending = not yet reviewed; accepted = adopt to active fleet; rejected = discard; refined = user edited fields, re-propose."
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"required": ["input_refs", "slug", "description", "behavioral_primitives", "system_prompt_draft", "user_acceptance", "validation_criteria"]
|
|
29
|
+
},
|
|
30
|
+
"required_fields": []
|
|
31
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slug": "draft-domain-type",
|
|
3
|
+
"version": 1,
|
|
4
|
+
"extends": "Artifact",
|
|
5
|
+
"domain": "seeding",
|
|
6
|
+
"status": "active",
|
|
7
|
+
"description": "Proposed domain type (extending one of the 6 core types) derived from recurrent_domain_shapes the user repeatedly works with. Draft only.",
|
|
8
|
+
"schema": {
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"input_refs": { "type": "array", "items": { "type": "string" } },
|
|
12
|
+
"slug": { "type": "string" },
|
|
13
|
+
"extends": { "type": "string", "enum": ["Signal", "Interpretation", "Judgment", "Plan", "Artifact", "Verdict"] },
|
|
14
|
+
"domain": { "type": "string" },
|
|
15
|
+
"description": { "type": "string" },
|
|
16
|
+
"schema": { "type": "object", "description": "Proposed JSON-schema for this domain type." },
|
|
17
|
+
"required_fields": { "type": "array", "items": { "type": "string" } },
|
|
18
|
+
"evidence_summary": { "type": "string", "description": "Which recurrent_domain_shape this type formalizes + which repos exhibited it." },
|
|
19
|
+
"user_acceptance": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"enum": ["pending", "accepted", "rejected", "refined"],
|
|
22
|
+
"default": "pending"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"required": ["input_refs", "slug", "extends", "domain", "schema", "user_acceptance", "validation_criteria"]
|
|
26
|
+
},
|
|
27
|
+
"required_fields": []
|
|
28
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slug": "draft-standard",
|
|
3
|
+
"version": 1,
|
|
4
|
+
"extends": "Artifact",
|
|
5
|
+
"domain": "seeding",
|
|
6
|
+
"status": "active",
|
|
7
|
+
"description": "Proposed standard (multi-phase workflow) derived from recurrent_workflows in a pattern-extraction. Draft only — user accepts before adoption to active fleet.",
|
|
8
|
+
"schema": {
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"input_refs": { "type": "array", "items": { "type": "string" }, "description": "References to pattern-extraction + repo-survey outputs." },
|
|
12
|
+
"slug": { "type": "string", "description": "Proposed standard slug." },
|
|
13
|
+
"domain": { "type": "string" },
|
|
14
|
+
"description": { "type": "string" },
|
|
15
|
+
"phases": {
|
|
16
|
+
"type": "array",
|
|
17
|
+
"description": "Ordered phases per coltrane standard convention. Each phase names a phase-agent slug + intent.",
|
|
18
|
+
"items": {
|
|
19
|
+
"type": "object",
|
|
20
|
+
"properties": {
|
|
21
|
+
"name": { "type": "string" },
|
|
22
|
+
"agent": { "type": "string" },
|
|
23
|
+
"intent": { "type": "string" }
|
|
24
|
+
},
|
|
25
|
+
"required": ["name", "agent", "intent"]
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"execution_modes": {
|
|
29
|
+
"type": "object",
|
|
30
|
+
"description": "Per project-bootstrap-v0 shape — conductor_mode default, dispatch_mode for power users.",
|
|
31
|
+
"properties": {
|
|
32
|
+
"conductor_mode": { "type": "object" },
|
|
33
|
+
"dispatch_mode": { "type": "object" }
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"evidence_summary": { "type": "string", "description": "Which recurrent_workflow this standard formalizes + which repos exhibited it." },
|
|
37
|
+
"user_acceptance": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"enum": ["pending", "accepted", "rejected", "refined"],
|
|
40
|
+
"default": "pending"
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"required": ["input_refs", "slug", "domain", "phases", "user_acceptance", "validation_criteria"]
|
|
44
|
+
},
|
|
45
|
+
"required_fields": []
|
|
46
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slug": "e2e-observation",
|
|
3
|
+
"version": 1,
|
|
4
|
+
"extends": "Signal",
|
|
5
|
+
"domain": "e2e",
|
|
6
|
+
"status": "active",
|
|
7
|
+
"schema": {
|
|
8
|
+
"type": "object",
|
|
9
|
+
"properties": {
|
|
10
|
+
"target": {
|
|
11
|
+
"type": "string"
|
|
12
|
+
},
|
|
13
|
+
"exit_code": {
|
|
14
|
+
"type": "number"
|
|
15
|
+
},
|
|
16
|
+
"passed": {
|
|
17
|
+
"type": "number"
|
|
18
|
+
},
|
|
19
|
+
"failed": {
|
|
20
|
+
"type": "number"
|
|
21
|
+
},
|
|
22
|
+
"stdout_tail": {
|
|
23
|
+
"type": "string"
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"required_fields": [
|
|
28
|
+
"target",
|
|
29
|
+
"exit_code",
|
|
30
|
+
"source"
|
|
31
|
+
]
|
|
32
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slug": "e2e-report",
|
|
3
|
+
"version": 1,
|
|
4
|
+
"extends": "Judgment",
|
|
5
|
+
"domain": "e2e",
|
|
6
|
+
"status": "active",
|
|
7
|
+
"schema": {
|
|
8
|
+
"type": "object",
|
|
9
|
+
"properties": {
|
|
10
|
+
"total": {
|
|
11
|
+
"type": "number"
|
|
12
|
+
},
|
|
13
|
+
"passed": {
|
|
14
|
+
"type": "number"
|
|
15
|
+
},
|
|
16
|
+
"failed": {
|
|
17
|
+
"type": "number"
|
|
18
|
+
},
|
|
19
|
+
"summary": {
|
|
20
|
+
"type": "string"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"required_fields": [
|
|
25
|
+
"total",
|
|
26
|
+
"passed",
|
|
27
|
+
"failed",
|
|
28
|
+
"criteria"
|
|
29
|
+
]
|
|
30
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slug": "e2e-target",
|
|
3
|
+
"version": 1,
|
|
4
|
+
"extends": "Signal",
|
|
5
|
+
"domain": "e2e",
|
|
6
|
+
"status": "active",
|
|
7
|
+
"schema": {
|
|
8
|
+
"type": "object",
|
|
9
|
+
"properties": {
|
|
10
|
+
"spec_path": {
|
|
11
|
+
"type": "string"
|
|
12
|
+
},
|
|
13
|
+
"suite": {
|
|
14
|
+
"type": "string"
|
|
15
|
+
},
|
|
16
|
+
"kind": {
|
|
17
|
+
"type": "string"
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"required_fields": [
|
|
22
|
+
"spec_path",
|
|
23
|
+
"kind",
|
|
24
|
+
"source"
|
|
25
|
+
]
|
|
26
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slug": "e2e-verdict",
|
|
3
|
+
"version": 1,
|
|
4
|
+
"extends": "Verdict",
|
|
5
|
+
"domain": "e2e",
|
|
6
|
+
"status": "active",
|
|
7
|
+
"schema": {
|
|
8
|
+
"type": "object",
|
|
9
|
+
"properties": {
|
|
10
|
+
"target": {
|
|
11
|
+
"type": "string"
|
|
12
|
+
},
|
|
13
|
+
"passed": {
|
|
14
|
+
"type": "boolean"
|
|
15
|
+
},
|
|
16
|
+
"evidence": {
|
|
17
|
+
"type": "string"
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"required_fields": [
|
|
22
|
+
"target",
|
|
23
|
+
"passed",
|
|
24
|
+
"checks"
|
|
25
|
+
]
|
|
26
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slug": "examine-round-record",
|
|
3
|
+
"version": 1,
|
|
4
|
+
"extends": "Interpretation",
|
|
5
|
+
"domain": "patent-triage",
|
|
6
|
+
"status": "active",
|
|
7
|
+
"schema": {
|
|
8
|
+
"type": "object",
|
|
9
|
+
"properties": {
|
|
10
|
+
"round_n": {
|
|
11
|
+
"type": "number"
|
|
12
|
+
},
|
|
13
|
+
"amended_claim": {
|
|
14
|
+
"type": "string"
|
|
15
|
+
},
|
|
16
|
+
"claim_state_sha": {
|
|
17
|
+
"type": "string"
|
|
18
|
+
},
|
|
19
|
+
"rejection_state_sha": {
|
|
20
|
+
"type": "string"
|
|
21
|
+
},
|
|
22
|
+
"predecessor_sha": {
|
|
23
|
+
"type": "string"
|
|
24
|
+
},
|
|
25
|
+
"survived": {
|
|
26
|
+
"type": "boolean"
|
|
27
|
+
},
|
|
28
|
+
"caveat": {
|
|
29
|
+
"type": "string"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"required_fields": [
|
|
34
|
+
"round_n",
|
|
35
|
+
"claim_state_sha",
|
|
36
|
+
"rejection_state_sha",
|
|
37
|
+
"predecessor_sha",
|
|
38
|
+
"claims"
|
|
39
|
+
]
|
|
40
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slug": "examiner-rejection",
|
|
3
|
+
"version": 1,
|
|
4
|
+
"extends": "Judgment",
|
|
5
|
+
"domain": "patent-triage",
|
|
6
|
+
"status": "active",
|
|
7
|
+
"schema": {
|
|
8
|
+
"type": "object",
|
|
9
|
+
"properties": {
|
|
10
|
+
"rejections": {
|
|
11
|
+
"type": "array"
|
|
12
|
+
},
|
|
13
|
+
"all_cleared": {
|
|
14
|
+
"type": "boolean"
|
|
15
|
+
},
|
|
16
|
+
"statutes_checked": {
|
|
17
|
+
"type": "array"
|
|
18
|
+
},
|
|
19
|
+
"caveat": {
|
|
20
|
+
"type": "string"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"required_fields": [
|
|
25
|
+
"rejections",
|
|
26
|
+
"criteria"
|
|
27
|
+
]
|
|
28
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slug": "failure-modes",
|
|
3
|
+
"version": 1,
|
|
4
|
+
"extends": "Interpretation",
|
|
5
|
+
"domain": "patent-triage",
|
|
6
|
+
"status": "active",
|
|
7
|
+
"schema": {
|
|
8
|
+
"type": "object",
|
|
9
|
+
"properties": {
|
|
10
|
+
"invention_id": {
|
|
11
|
+
"type": "string"
|
|
12
|
+
},
|
|
13
|
+
"named_failure_modes": {
|
|
14
|
+
"type": "array"
|
|
15
|
+
},
|
|
16
|
+
"boundary_conditions": {
|
|
17
|
+
"type": "array"
|
|
18
|
+
},
|
|
19
|
+
"what_this_is_not": {
|
|
20
|
+
"type": "array"
|
|
21
|
+
},
|
|
22
|
+
"caveat": {
|
|
23
|
+
"type": "string"
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"required_fields": [
|
|
28
|
+
"named_failure_modes",
|
|
29
|
+
"claims"
|
|
30
|
+
]
|
|
31
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slug": "invention-analysis",
|
|
3
|
+
"version": 1,
|
|
4
|
+
"extends": "Interpretation",
|
|
5
|
+
"domain": "patent-triage",
|
|
6
|
+
"status": "active",
|
|
7
|
+
"schema": {
|
|
8
|
+
"type": "object",
|
|
9
|
+
"properties": {
|
|
10
|
+
"real_contribution": {
|
|
11
|
+
"type": "string"
|
|
12
|
+
},
|
|
13
|
+
"claimed_vs_actual": {
|
|
14
|
+
"type": "string"
|
|
15
|
+
},
|
|
16
|
+
"candidate_inventive_concepts": {
|
|
17
|
+
"type": "array"
|
|
18
|
+
},
|
|
19
|
+
"embodiments": {
|
|
20
|
+
"type": "array"
|
|
21
|
+
},
|
|
22
|
+
"caveat": {
|
|
23
|
+
"type": "string"
|
|
24
|
+
},
|
|
25
|
+
"enablement_gaps": {
|
|
26
|
+
"type": "array"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"required_fields": [
|
|
31
|
+
"real_contribution",
|
|
32
|
+
"claims"
|
|
33
|
+
]
|
|
34
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slug": "invention-spec",
|
|
3
|
+
"version": 1,
|
|
4
|
+
"extends": "Signal",
|
|
5
|
+
"domain": "patent-triage",
|
|
6
|
+
"status": "active",
|
|
7
|
+
"schema": {
|
|
8
|
+
"type": "object",
|
|
9
|
+
"properties": {
|
|
10
|
+
"title": {
|
|
11
|
+
"type": "string"
|
|
12
|
+
},
|
|
13
|
+
"description": {
|
|
14
|
+
"type": "string"
|
|
15
|
+
},
|
|
16
|
+
"repo_url": {
|
|
17
|
+
"type": "string"
|
|
18
|
+
},
|
|
19
|
+
"field_of_use": {
|
|
20
|
+
"type": "string"
|
|
21
|
+
},
|
|
22
|
+
"filed_by": {
|
|
23
|
+
"type": "string"
|
|
24
|
+
},
|
|
25
|
+
"caveat": {
|
|
26
|
+
"type": "string"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"required_fields": [
|
|
31
|
+
"description",
|
|
32
|
+
"source"
|
|
33
|
+
]
|
|
34
|
+
}
|