@jinn-network/jinn-layer 0.1.1 → 0.1.2-canary.15837edd
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/adapters/federated-corpus-adapter.d.ts +1 -1
- package/dist/adapters/federated-corpus-adapter.js +3 -1
- package/dist/adapters/index.d.ts +1 -1
- package/dist/adapters/index.js +1 -1
- package/dist/adapters/json-map-store.js +1 -1
- package/dist/bridge-fetch-evidence.d.ts +1 -1
- package/dist/bridge-fetch-evidence.js +1 -1
- package/dist/bridge-verdict-source.d.ts +1 -1
- package/dist/bridge-verdict-source.js +1 -1
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +1 -1
- package/dist/consume.d.ts +1 -1
- package/dist/consume.js +2 -2
- package/dist/corpus-probes.d.ts +2 -2
- package/dist/corpus-probes.js +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/ipfs-cid.js +1 -1
- package/dist/ledger.d.ts +2 -2
- package/dist/ledger.js +2 -2
- package/dist/measurement.d.ts +1 -1
- package/dist/measurement.js +1 -1
- package/dist/publish-skill.d.ts +2 -2
- package/dist/seed-import/state.d.ts +1 -1
- package/dist/seed-import/state.js +1 -1
- package/dist/skill-package.d.ts +1 -1
- package/dist/skill-package.js +2 -2
- package/dist/snapshot-transcript.d.ts +1 -1
- package/dist/snapshot-transcript.js +1 -1
- package/package.json +4 -4
|
@@ -4,5 +4,5 @@ export interface FederatedCorpusAdapterDeps {
|
|
|
4
4
|
public: CorpusPort;
|
|
5
5
|
timeoutMs?: number;
|
|
6
6
|
}
|
|
7
|
-
export declare const DEFAULT_FEDERATED_CHILD_TIMEOUT_MS =
|
|
7
|
+
export declare const DEFAULT_FEDERATED_CHILD_TIMEOUT_MS = 10000;
|
|
8
8
|
export declare function createFederatedCorpusAdapter(deps: FederatedCorpusAdapterDeps): CorpusPort;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { degraded, ok, unavailable, valueOr, } from '@jinn-network/plugin';
|
|
2
2
|
import { LOCAL_EPISODE_REF_PREFIX } from './local-episode-corpus-adapter.js';
|
|
3
|
-
|
|
3
|
+
// Cold public corpus reads can take longer than five seconds while still
|
|
4
|
+
// completing inside Hermes' 15-second session-pickup deadline.
|
|
5
|
+
export const DEFAULT_FEDERATED_CHILD_TIMEOUT_MS = 10_000;
|
|
4
6
|
export function createFederatedCorpusAdapter(deps) {
|
|
5
7
|
const timeoutMs = deps.timeoutMs ?? DEFAULT_FEDERATED_CHILD_TIMEOUT_MS;
|
|
6
8
|
const openCircuit = new Set();
|
package/dist/adapters/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* `unavailable`) so an adapter never crashes across the port boundary.
|
|
9
9
|
*
|
|
10
10
|
* The dependency arrow is one-way: harness-layer imports the ports/schemas
|
|
11
|
-
* FROM `@jinn-network/plugin`; the plugin package never imports `
|
|
11
|
+
* FROM `@jinn-network/plugin`; the plugin package never imports `operator/**`.
|
|
12
12
|
*/
|
|
13
13
|
export { createCorpusAdapter } from './corpus-adapter.js';
|
|
14
14
|
export { episodeToCorpusRecord, type EpisodeRecordProjection } from './episode-record.js';
|
package/dist/adapters/index.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* `unavailable`) so an adapter never crashes across the port boundary.
|
|
9
9
|
*
|
|
10
10
|
* The dependency arrow is one-way: harness-layer imports the ports/schemas
|
|
11
|
-
* FROM `@jinn-network/plugin`; the plugin package never imports `
|
|
11
|
+
* FROM `@jinn-network/plugin`; the plugin package never imports `operator/**`.
|
|
12
12
|
*/
|
|
13
13
|
export { createCorpusAdapter } from './corpus-adapter.js';
|
|
14
14
|
export { episodeToCorpusRecord } from './episode-record.js';
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* a corrupt or non-object file ⇒ `{}` (never throws on read). Writes are
|
|
5
5
|
* atomic (temp file + rename) and create the parent dir on demand.
|
|
6
6
|
*
|
|
7
|
-
* In-package on purpose: harness-layer must NOT reach into `
|
|
7
|
+
* In-package on purpose: harness-layer must NOT reach into `operator/src/**`
|
|
8
8
|
* (the one-way dependency arrow), so the mineable-store idiom is reproduced
|
|
9
9
|
* here rather than imported.
|
|
10
10
|
*/
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Implements the VERIFIED verdict→solution join that reaches
|
|
5
5
|
* the SOLVER's coding patch — the reference implementation is `fetchEvidence` in
|
|
6
|
-
*
|
|
6
|
+
* operator/scripts/distill-run-live.ts:
|
|
7
7
|
*
|
|
8
8
|
* verdict(ref.requestId, ref.chainId) → authoritative (taskId, attemptIndex, evaluator)
|
|
9
9
|
* + bounded verdictEnvelopeMeta candidates → historical publisher,
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Implements the VERIFIED verdict→solution join that reaches
|
|
5
5
|
* the SOLVER's coding patch — the reference implementation is `fetchEvidence` in
|
|
6
|
-
*
|
|
6
|
+
* operator/scripts/distill-run-live.ts:
|
|
7
7
|
*
|
|
8
8
|
* verdict(ref.requestId, ref.chainId) → authoritative (taskId, attemptIndex, evaluator)
|
|
9
9
|
* + bounded verdictEnvelopeMeta candidates → historical publisher,
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* envelope patch).
|
|
18
18
|
*
|
|
19
19
|
* The predecessor's `attemptEnvelopeMeta(requestId=verdict.requestId)` join is
|
|
20
|
-
* gone: probed live (see
|
|
20
|
+
* gone: probed live (see operator/scripts/distill-run-live.ts), that key does not
|
|
21
21
|
* match, so the join returned empty. The real link runs through the task doc's
|
|
22
22
|
* chain-indexed verdict/attempt tuple, resolved lazily in the evidence fetcher.
|
|
23
23
|
*
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* envelope patch).
|
|
18
18
|
*
|
|
19
19
|
* The predecessor's `attemptEnvelopeMeta(requestId=verdict.requestId)` join is
|
|
20
|
-
* gone: probed live (see
|
|
20
|
+
* gone: probed live (see operator/scripts/distill-run-live.ts), that key does not
|
|
21
21
|
* match, so the join returned empty. The real link runs through the task doc's
|
|
22
22
|
* chain-indexed verdict/attempt tuple, resolved lazily in the evidence fetcher.
|
|
23
23
|
*
|
package/dist/cli.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* jinn-layer CLI — the human surface over the harness-layer consume path.
|
|
3
3
|
*
|
|
4
|
-
* Verbs (same command-module spirit as
|
|
4
|
+
* Verbs (same command-module spirit as operator/src/cli/commands/, kept
|
|
5
5
|
* self-contained so the package stays embeddable):
|
|
6
6
|
*
|
|
7
7
|
* jinn-layer corpus search "<query>" [--limit N] [--json]
|
package/dist/cli.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* jinn-layer CLI — the human surface over the harness-layer consume path.
|
|
3
3
|
*
|
|
4
|
-
* Verbs (same command-module spirit as
|
|
4
|
+
* Verbs (same command-module spirit as operator/src/cli/commands/, kept
|
|
5
5
|
* self-contained so the package stays embeddable):
|
|
6
6
|
*
|
|
7
7
|
* jinn-layer corpus search "<query>" [--limit N] [--json]
|
package/dist/consume.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ import { type SignedEnvelope } from '@jinn-network/core';
|
|
|
18
18
|
export declare const DEFAULT_TESTNET_DISCOVERY_URL = "https://jinn-indexer-production.up.railway.app";
|
|
19
19
|
/**
|
|
20
20
|
* Default public IPFS gateway. Mirrors the `ipfsGatewayUrl` zod default in
|
|
21
|
-
*
|
|
21
|
+
* operator/src/config.ts (inline schema default; not exported as a constant).
|
|
22
22
|
*/
|
|
23
23
|
export declare const DEFAULT_IPFS_GATEWAY_URL = "https://gateway.autonolas.tech";
|
|
24
24
|
export interface HarnessLayerConfig {
|
package/dist/consume.js
CHANGED
|
@@ -22,7 +22,7 @@ import { extractSkill } from './skill.js';
|
|
|
22
22
|
export const DEFAULT_TESTNET_DISCOVERY_URL = 'https://jinn-indexer-production.up.railway.app';
|
|
23
23
|
/**
|
|
24
24
|
* Default public IPFS gateway. Mirrors the `ipfsGatewayUrl` zod default in
|
|
25
|
-
*
|
|
25
|
+
* operator/src/config.ts (inline schema default; not exported as a constant).
|
|
26
26
|
*/
|
|
27
27
|
export const DEFAULT_IPFS_GATEWAY_URL = 'https://gateway.autonolas.tech';
|
|
28
28
|
const DEFAULT_SEARCH_LIMIT = 50;
|
|
@@ -90,7 +90,7 @@ export function createHarnessLayer(config = {}) {
|
|
|
90
90
|
// `signer.privateKey` and `selfSafeAddress` are required by CorpusOptions
|
|
91
91
|
// but unused by the read paths this layer exposes (query / fetchManifest /
|
|
92
92
|
// ipfs-and-origin acquire). Placeholders, same as the read-only corpus in
|
|
93
|
-
//
|
|
93
|
+
// operator/src/mcp/server.ts.
|
|
94
94
|
const corpus = createCorpus({
|
|
95
95
|
discovery,
|
|
96
96
|
ipfsGatewayUrl: resolved.ipfsGatewayUrl,
|
package/dist/corpus-probes.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* - `corpus-content` — did the repo-slug query find enough evidence that
|
|
8
8
|
* interactive pickup can actually serve?
|
|
9
9
|
*
|
|
10
|
-
* Both are shared so the Python doctor (
|
|
10
|
+
* Both are shared so the Python doctor (plugin/frozen/doctor.py)
|
|
11
11
|
* and the layer CLI (`jinn-layer corpus probe`) render identical semantics.
|
|
12
12
|
*
|
|
13
13
|
* The content check deliberately mirrors pickup's two-layer, fail-closed
|
|
@@ -25,7 +25,7 @@ import type { HarnessLayer, CorpusSearchHit } from './consume.js';
|
|
|
25
25
|
export declare const CORPUS_ONBOARDING_K = 3;
|
|
26
26
|
/**
|
|
27
27
|
* One doctor check result. Mirrors the Python doctor contract in
|
|
28
|
-
*
|
|
28
|
+
* plugin/frozen/doctor.py: a plain `{name, ok, detail}` dict with
|
|
29
29
|
* `remedy` present exactly when `ok` is false — EXCEPT informational checks,
|
|
30
30
|
* which never carry a remedy even when `ok` is false (there is nothing for the
|
|
31
31
|
* operator to fix, so there is no copy-paste command to offer). `corpus-content`
|
package/dist/corpus-probes.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* - `corpus-content` — did the repo-slug query find enough evidence that
|
|
8
8
|
* interactive pickup can actually serve?
|
|
9
9
|
*
|
|
10
|
-
* Both are shared so the Python doctor (
|
|
10
|
+
* Both are shared so the Python doctor (plugin/frozen/doctor.py)
|
|
11
11
|
* and the layer CLI (`jinn-layer corpus probe`) render identical semantics.
|
|
12
12
|
*
|
|
13
13
|
* The content check deliberately mirrors pickup's two-layer, fail-closed
|
package/dist/index.d.ts
CHANGED
|
@@ -10,7 +10,8 @@ export { corpusProbes, enoughCorpusForRepo, CORPUS_ONBOARDING_K, type DoctorChec
|
|
|
10
10
|
export { capture, parseCapturedTask, CapturedTaskSchema, CaptureScrubError, PENDING_ENVELOPE_KIND, type CapturedTask, type CaptureOptions, type PendingEnvelope, type ScrubRedaction, } from './capture.js';
|
|
11
11
|
export { preview, stripBeforeValues, type ScrubReport, } from './preview.js';
|
|
12
12
|
export { computeSignal, type SignalInput, type SignalRow, type SignalOptions, } from './signal.js';
|
|
13
|
-
export { publish, PublishLedgerError, toPublishedEpisode, toTraceEnvelope, EPISODE_ARTIFACT_TYPE, TRACE_ENVELOPE_ARTIFACT_TYPE, type HarnessPublishDeps, type PublishedResult, type PublishOptions, type PublishResult, } from './publish.js';
|
|
13
|
+
export { publish, publishManifestBatch, PublishLedgerError, toPublishedEpisode, toTraceEnvelope, EPISODE_ARTIFACT_TYPE, TRACE_ENVELOPE_ARTIFACT_TYPE, type HarnessPublishDeps, type ManifestBatchPublishDeps, type ManifestBatchSetResult, type PublishedResult, type PublishOptions, type PublishResult, } from './publish.js';
|
|
14
|
+
export { createEvidenceFetcher } from './bridge-fetch-evidence.js';
|
|
14
15
|
export { extractSkill, type ExtractedSkill, } from './skill.js';
|
|
15
16
|
export { SKILL_ARTIFACT_TYPE, SkillArtifactV1Schema, SkillProvenanceSchema, SkillCompanionFileSchema, MAX_SKILL_FILES, MAX_SKILL_TOTAL_DECODED_BYTES, type SkillArtifactV1, type SkillProvenance, type SkillCompanionFile, } from '@jinn-network/core';
|
|
16
17
|
export { buildSkillMarkdown, parseSkillMarkdown, assertConformantName, SkillPackageMetaSchema, type SkillPackage, type SkillPackageMeta, } from './skill-package.js';
|
package/dist/index.js
CHANGED
|
@@ -10,7 +10,8 @@ export { corpusProbes, enoughCorpusForRepo, CORPUS_ONBOARDING_K, } from './corpu
|
|
|
10
10
|
export { capture, parseCapturedTask, CapturedTaskSchema, CaptureScrubError, PENDING_ENVELOPE_KIND, } from './capture.js';
|
|
11
11
|
export { preview, stripBeforeValues, } from './preview.js';
|
|
12
12
|
export { computeSignal, } from './signal.js';
|
|
13
|
-
export { publish, PublishLedgerError, toPublishedEpisode, toTraceEnvelope, EPISODE_ARTIFACT_TYPE, TRACE_ENVELOPE_ARTIFACT_TYPE, } from './publish.js';
|
|
13
|
+
export { publish, publishManifestBatch, PublishLedgerError, toPublishedEpisode, toTraceEnvelope, EPISODE_ARTIFACT_TYPE, TRACE_ENVELOPE_ARTIFACT_TYPE, } from './publish.js';
|
|
14
|
+
export { createEvidenceFetcher } from './bridge-fetch-evidence.js';
|
|
14
15
|
export { extractSkill, } from './skill.js';
|
|
15
16
|
export { SKILL_ARTIFACT_TYPE, SkillArtifactV1Schema, SkillProvenanceSchema, SkillCompanionFileSchema, MAX_SKILL_FILES, MAX_SKILL_TOTAL_DECODED_BYTES, } from '@jinn-network/core';
|
|
16
17
|
export { buildSkillMarkdown, parseSkillMarkdown, assertConformantName, SkillPackageMetaSchema, } from './skill-package.js';
|
package/dist/ipfs-cid.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { createHash } from 'node:crypto';
|
|
3
3
|
/**
|
|
4
4
|
* CID validation for harness-layer network boundaries. Keep this package-local:
|
|
5
|
-
* the harness-layer ↔
|
|
5
|
+
* the harness-layer ↔ operator/src architecture seam is shrink-only.
|
|
6
6
|
*
|
|
7
7
|
* The live Autonolas registry emits CIDv1 raw objects, including the historical
|
|
8
8
|
* base16 form `f01551220<sha256>`. We deliberately support only the two codecs
|
package/dist/ledger.d.ts
CHANGED
|
@@ -26,8 +26,8 @@ export declare const LedgerEntrySchema: z.ZodObject<{
|
|
|
26
26
|
}, z.core.$strict>;
|
|
27
27
|
export type LedgerEntry = z.infer<typeof LedgerEntrySchema>;
|
|
28
28
|
/**
|
|
29
|
-
* Fork-shaped projection of a ledger entry — the row shape the
|
|
30
|
-
*
|
|
29
|
+
* Fork-shaped projection of a ledger entry — the row shape the frozen
|
|
30
|
+
* 0.1.2 TUI consumer reads.
|
|
31
31
|
* `state` is absent for published rows; the schema also accepts a `failed`
|
|
32
32
|
* state for forward-compat, even though `toLedgerRow` never emits it.
|
|
33
33
|
*/
|
package/dist/ledger.js
CHANGED
|
@@ -26,8 +26,8 @@ export const LedgerEntrySchema = z.strictObject({
|
|
|
26
26
|
status: z.enum(['published', 'vetoed (local only)']),
|
|
27
27
|
});
|
|
28
28
|
/**
|
|
29
|
-
* Fork-shaped projection of a ledger entry — the row shape the
|
|
30
|
-
*
|
|
29
|
+
* Fork-shaped projection of a ledger entry — the row shape the frozen
|
|
30
|
+
* 0.1.2 TUI consumer reads.
|
|
31
31
|
* `state` is absent for published rows; the schema also accepts a `failed`
|
|
32
32
|
* state for forward-compat, even though `toLedgerRow` never emits it.
|
|
33
33
|
*/
|
package/dist/measurement.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* (spec/2026-07-06-distillation-v1.md §11, D9/D11).
|
|
4
4
|
*
|
|
5
5
|
* REUSES the capability-eval rig — `comparePaired` / `mcnemarExact` (exact
|
|
6
|
-
* McNemar) from `
|
|
6
|
+
* McNemar) from `operator/src/eval/paired.ts`. This module is only the analysis
|
|
7
7
|
* layer that composes those into the three-arm gate; the actual per-arm run
|
|
8
8
|
* (executing the harness against the `cap-v0` slate with each corpus snapshot
|
|
9
9
|
* pre-installed, graded by the swe-rebench-v2 grader) is wired at run time and
|
package/dist/measurement.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* (spec/2026-07-06-distillation-v1.md §11, D9/D11).
|
|
4
4
|
*
|
|
5
5
|
* REUSES the capability-eval rig — `comparePaired` / `mcnemarExact` (exact
|
|
6
|
-
* McNemar) from `
|
|
6
|
+
* McNemar) from `operator/src/eval/paired.ts`. This module is only the analysis
|
|
7
7
|
* layer that composes those into the three-arm gate; the actual per-arm run
|
|
8
8
|
* (executing the harness against the `cap-v0` slate with each corpus snapshot
|
|
9
9
|
* pre-installed, graded by the swe-rebench-v2 grader) is wired at run time and
|
package/dist/publish-skill.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* This is the **distilled-skill producer** #1394 anticipated but did not ship:
|
|
7
7
|
* the artifact payload is the canonical `SkillArtifactV1`
|
|
8
|
-
* (
|
|
8
|
+
* (operator/src/types/skill-artifact.ts) with `provenance.kind: 'distilled'` and
|
|
9
9
|
* the DR-2026-07-06 distill fields (`skillKind`, `distillPromptSha256`,
|
|
10
10
|
* `distribution`, `verifiabilityTier`). The stored `skill.skillMd` is rendered
|
|
11
11
|
* WITHOUT the `metadata.jinn` frontmatter block — the structured provenance
|
|
@@ -73,7 +73,7 @@ export interface PublishSkillResult {
|
|
|
73
73
|
* Lifecycle is *content* — not an injected collaborator — so it rides an
|
|
74
74
|
* optional param, preserving the deps/content seam and keeping every existing
|
|
75
75
|
* 2-arg call site working. Honored at read time only when the successor's
|
|
76
|
-
* operator matches the superseded record's operator (
|
|
76
|
+
* operator matches the superseded record's operator (operator/.../consume.ts).
|
|
77
77
|
*/
|
|
78
78
|
export interface SkillLifecycle {
|
|
79
79
|
/** Envelope/manifest CID of the prior record this one replaces. */
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* (a `skipped` row; no new envelope); re-running over CHANGED content
|
|
11
11
|
* republishes and points the new record's provenance at the prior
|
|
12
12
|
* `envelopeRef` via `supersedes` — skills carry it in
|
|
13
|
-
* `SkillArtifactV1.provenance.supersedes` (
|
|
13
|
+
* `SkillArtifactV1.provenance.supersedes` (operator/src/types/skill-artifact.ts,
|
|
14
14
|
* already schema'd for this, issue #1462); episodes carry it in the
|
|
15
15
|
* `seed.attribution` step attribute (episode-fetch.ts's step convention),
|
|
16
16
|
* since the frozen `jinn.trace-envelope.v0` has no top-level field for it.
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* (a `skipped` row; no new envelope); re-running over CHANGED content
|
|
11
11
|
* republishes and points the new record's provenance at the prior
|
|
12
12
|
* `envelopeRef` via `supersedes` — skills carry it in
|
|
13
|
-
* `SkillArtifactV1.provenance.supersedes` (
|
|
13
|
+
* `SkillArtifactV1.provenance.supersedes` (operator/src/types/skill-artifact.ts,
|
|
14
14
|
* already schema'd for this, issue #1462); episodes carry it in the
|
|
15
15
|
* `seed.attribution` step attribute (episode-fetch.ts's step convention),
|
|
16
16
|
* since the frozen `jinn.trace-envelope.v0` has no top-level field for it.
|
package/dist/skill-package.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export { SKILL_ARTIFACT_TYPE };
|
|
|
4
4
|
/**
|
|
5
5
|
* The distiller-side provenance meta carried on a `SkillPackage` (and embedded
|
|
6
6
|
* as `metadata.jinn` frontmatter in EXPORT renders). The canonical stored form
|
|
7
|
-
* is `SkillProvenanceSchema` in `
|
|
7
|
+
* is `SkillProvenanceSchema` in `operator/src/types/skill-artifact.ts`;
|
|
8
8
|
* `publishSkill()` maps this onto it (`provenance` → `sourceEnvelopeCids`,
|
|
9
9
|
* `distilledFrom` is derived as its length there and not stored twice).
|
|
10
10
|
*/
|
package/dist/skill-package.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* so it is drop-in installable by the wider `skills` ecosystem.
|
|
8
8
|
*
|
|
9
9
|
* Division of labour after the #1394 reconciliation:
|
|
10
|
-
* - `
|
|
10
|
+
* - `operator/src/types/skill-artifact.ts` (#1394, shipped) owns the CANONICAL
|
|
11
11
|
* stored form: `SkillArtifactV1` with structured `SkillProvenanceSchema`.
|
|
12
12
|
* - `./skill.ts` (shipped) owns consume-side recognition (`extractSkill`).
|
|
13
13
|
* - THIS module is the distiller-side package builder/renderer: the
|
|
@@ -28,7 +28,7 @@ const NAME_RE = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
|
|
|
28
28
|
/**
|
|
29
29
|
* The distiller-side provenance meta carried on a `SkillPackage` (and embedded
|
|
30
30
|
* as `metadata.jinn` frontmatter in EXPORT renders). The canonical stored form
|
|
31
|
-
* is `SkillProvenanceSchema` in `
|
|
31
|
+
* is `SkillProvenanceSchema` in `operator/src/types/skill-artifact.ts`;
|
|
32
32
|
* `publishSkill()` maps this onto it (`provenance` → `sourceEnvelopeCids`,
|
|
33
33
|
* `distilledFrom` is derived as its length there and not stored twice).
|
|
34
34
|
*/
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* lookup (issue #1472, spec §8).
|
|
4
4
|
*
|
|
5
5
|
* The engine tars each solve's working dir into a `system_snapshot` artifact
|
|
6
|
-
* (hand-rolled POSIX ustar + gzip, `
|
|
6
|
+
* (hand-rolled POSIX ustar + gzip, `operator/src/harnesses/engine/packaging.ts`
|
|
7
7
|
* `createWorkdirTarball`) and publishes it donation-wrapped
|
|
8
8
|
* (`jinn.artifact.donation.v1`: JSON with base64 `data`). Inside is the
|
|
9
9
|
* harness's raw stdout transcript (`.claude-code/stdout.jsonl`,
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* lookup (issue #1472, spec §8).
|
|
4
4
|
*
|
|
5
5
|
* The engine tars each solve's working dir into a `system_snapshot` artifact
|
|
6
|
-
* (hand-rolled POSIX ustar + gzip, `
|
|
6
|
+
* (hand-rolled POSIX ustar + gzip, `operator/src/harnesses/engine/packaging.ts`
|
|
7
7
|
* `createWorkdirTarball`) and publishes it donation-wrapped
|
|
8
8
|
* (`jinn.artifact.donation.v1`: JSON with base64 `data`). Inside is the
|
|
9
9
|
* harness's raw stdout transcript (`.claude-code/stdout.jsonl`,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jinn-network/jinn-layer",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2-canary.15837edd",
|
|
4
4
|
"description": "Standalone Jinn plugin process layer: host contract, local evidence, corpus reads, distillation, and seed import.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "yarn@4.13.0",
|
|
@@ -38,14 +38,14 @@
|
|
|
38
38
|
"test": "vitest run"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@jinn-network/core": "0.1.
|
|
42
|
-
"@jinn-network/plugin": "0.1.
|
|
41
|
+
"@jinn-network/core": "0.1.2-canary.15837edd",
|
|
42
|
+
"@jinn-network/plugin": "0.1.2-canary.15837edd",
|
|
43
43
|
"@modelcontextprotocol/sdk": "^1.27.1",
|
|
44
44
|
"better-sqlite3": "^12.10.0",
|
|
45
45
|
"canonicalize": "^3.0.0",
|
|
46
46
|
"viem": "^2.0.0",
|
|
47
47
|
"yaml": "^2.8.4",
|
|
48
|
-
"zod": "
|
|
48
|
+
"zod": "4.4.3"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"@types/better-sqlite3": "^7.6.0",
|