@pome-sh/checks 0.3.4 → 0.3.5

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/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @pome-sh/checks
2
2
 
3
+ ## 0.3.5 — 2026-08-23
4
+
5
+ **No consumer-visible change.** Internal tracker ids were removed from source
6
+ comments, JSDoc and test names across the workspace, and the comment blocks
7
+ touched in test files were cut to the claim they document. Prose only: no
8
+ export, schema, tool, route, status code or response body moved.
9
+
3
10
  ## 0.3.4 — 2026-08-23
4
11
 
5
12
  **No consumer-visible change.** Internal tracker ids were removed from comments
@@ -39,6 +39,6 @@ export interface OpenTwinDatabaseOptions {
39
39
  * Open a twin database with the pome pragma set applied:
40
40
  * `busy_timeout = 5000`, `journal_mode = WAL` (file-backed), and
41
41
  * `foreign_keys = ON` — the exact pragmas every twin's hand-rolled db.ts
42
- * applied before F-681 centralized them.
42
+ * applied before centralized them.
43
43
  */
44
44
  export declare function openTwinDatabase(path?: string, options?: OpenTwinDatabaseOptions): TwinDatabase;
@@ -116,7 +116,7 @@ export type ParsedGitHubStateSeed = z.output<typeof seedSchema>;
116
116
  export declare function parseSeed(input: unknown): ParsedGitHubStateSeed;
117
117
  /**
118
118
  * Boot-time seed loader: prefer `POME_SEED_JSON` env (set by the cloud
119
- * control-plane from the CLI-supplied scenario seed; see FDRS-353) and
119
+ * control-plane from the CLI-supplied scenario seed; ) and
120
120
  * fall back to `defaultSeedState()` when the env is absent. Throws on
121
121
  * malformed JSON or schema-invalid seed, so a misconfigured cloud
122
122
  * deploy fails the twin server's healthz instead of silently booting
@@ -87,7 +87,7 @@ export type SeedRepository = {
87
87
  };
88
88
  /**
89
89
  * A conversation comment on an issue OR a pull request — one shape, because
90
- * they are one table and one route on GitHub too (F-1151).
90
+ * they are one table and one route on GitHub too.
91
91
  */
92
92
  export type SeedComment = {
93
93
  body: string;
@@ -245,7 +245,7 @@ export type ReleaseRow = {
245
245
  prerelease: 0 | 1;
246
246
  author_login: string;
247
247
  created_at: string;
248
- /** F-1459 — GitHub's release `updated_at`. Equal to `created_at` on a release
248
+ /** GitHub's release `updated_at`. Equal to `created_at` on a release
249
249
  * that has never been edited, which is every release this twin serves: it has
250
250
  * no release-update route. */
251
251
  updated_at: string;
@@ -2,7 +2,7 @@ import { type CheckOutcome } from "../../sdk/checks.js";
2
2
  /** A resolver must be able to say WHY it found nothing: the ways of finding
3
3
  * nothing get different verdicts. Same shape and same reason as twin-github's.
4
4
  *
5
- * F-1197 added the pointers, also twin-github's: `path` is where the resolution
5
+ * The pointers follow twin-github's: `path` is where the resolution
6
6
  * landed, `searched` is the collection a failed lookup scanned. Both optional on
7
7
  * the missing arm because gmail's commonest refusal is `state_incomplete` — the
8
8
  * collection is absent from the export entirely, so there is nowhere to point
@@ -110,7 +110,7 @@ export declare function resolveMessage(state: GmailCheckState, id: string): Reso
110
110
  * regardless.
111
111
  *
112
112
  * ⚠️ THAT FALLBACK IS SYSTEM-LABELS-ONLY, and the sentence above used to stop
113
- * short of saying so, which is why the gap read as intentional (F-1441). It
113
+ * short of saying so, which is why the gap read as intentional. It
114
114
  * holds when `id === name` — `INBOX`, `UNREAD`, `STARRED`. A USER label's
115
115
  * minted id differs from its display name by construction (the default seed
116
116
  * ships `{ id: "Label_follow_up", name: "Follow Up" }`), so with `labels`
@@ -121,7 +121,7 @@ export declare function resolveMessage(state: GmailCheckState, id: string): Reso
121
121
  * indistinguishable from "the label was never applied". **Every caller must
122
122
  * decide what an absent or capped `labels` collection means before calling**.
123
123
  *
124
- * THERE ARE THREE CALLERS, not the two F-1441 counted, and the third is in this
124
+ * THERE ARE THREE CALLERS, not the two first counted, and the third is in this
125
125
  * very file:
126
126
  * * `gmail.mailbox-label-count` and `gmail.one-message-per-recipient` in
127
127
  * check-messages.ts REFUSE — `state_incomplete` / `collection_truncated` —
@@ -133,7 +133,7 @@ export declare function resolveMessage(state: GmailCheckState, id: string): Reso
133
133
  * the direction is safe — but safe-by-polarity is how this class survives
134
134
  * review, so it is measured rather than assumed. `section-read-sweep.test.ts`
135
135
  * in @pome-sh/checks deletes `labels` from that check's own passing world on
136
- * every run and asserts the verdict MOVES; before F-1437 it did not, because
136
+ * every run and asserts the verdict MOVES; before it did not, because
137
137
  * that world minted the label with `id === name` and the fallback above
138
138
  * answered the join unaided.
139
139
  *
@@ -166,7 +166,7 @@ export declare function resolveLabelByName(state: GmailCheckState, name: string)
166
166
  * the caller decides whether that emptiness is answerable.
167
167
  *
168
168
  * ⚠️ Same shape as `labelIdsFor`, same rule, and the reason is written down
169
- * rather than left to be rediscovered (F-1441): `state.messages ?? []` cannot
169
+ * rather than left to be rediscovered: `state.messages ?? []` cannot
170
170
  * tell an absent collection from one that holds no match, so this function
171
171
  * cannot refuse either. It is safe TODAY only because its sole caller
172
172
  * null-checks `final.messages` first (`check-drafts.ts:63`) — safe-by-caller,
@@ -69,7 +69,7 @@ export type Resolved<T> = {
69
69
  skip: boolean;
70
70
  searched?: string;
71
71
  };
72
- /** The exported collections a pointer can address (F-1197). Named because seven
72
+ /** The exported collections a pointer can address. Named because seven
73
73
  * declarations reach for them. */
74
74
  export declare const ISSUES_PATH: string;
75
75
  export declare const COMMENTS_PATH: string;
@@ -78,7 +78,7 @@ export declare const WORKFLOW_STATES_PATH: string;
78
78
  export declare const USERS_PATH: string;
79
79
  /**
80
80
  * A pointer at `key` on the row `base` addresses, falling back to the row when
81
- * the export does not carry that key (F-1197).
81
+ * the export does not carry that key.
82
82
  *
83
83
  * The fallback is the whole point and it is not defensive padding. An UNSET
84
84
  * estimate and an ABSENT assignee are both real, common, and exactly the
@@ -90,7 +90,7 @@ export declare const USERS_PATH: string;
90
90
  export declare function fieldPath(base: string, row: object, key: string): string;
91
91
  /** The one place an unresolved selector becomes an outcome.
92
92
  *
93
- * F-1197 — it also carries the citation, so the rule "a refusal names where it
93
+ * It also carries the citation, so the rule "a refusal names where it
94
94
  * looked" is written once rather than at fourteen call sites. */
95
95
  export declare function unresolved(r: {
96
96
  missing: string;
@@ -6,10 +6,10 @@ export type LinearTokenActorType = "user" | "app";
6
6
  export type LinearIssuePriority = 0 | 1 | 2 | 3 | 4;
7
7
  /** Linear's `AgentActivityType` enum, member-for-member — the `content` discriminator. */
8
8
  export type LinearAgentActivityType = "thought" | "elicitation" | "action" | "response" | "error" | "prompt";
9
- /** Linear's `AgentActivitySignal` enum, member-for-member (F-1176). */
9
+ /** Linear's `AgentActivitySignal` enum, member-for-member. */
10
10
  export type LinearAgentActivitySignal = "stop" | "continue" | "auth" | "select";
11
11
  /**
12
- * Linear's `AgentActivityContent` union, member-for-member (F-1176).
12
+ * Linear's `AgentActivityContent` union, member-for-member.
13
13
  *
14
14
  * Upstream this is a real GraphQL union discriminated on `type`, whose six
15
15
  * members are `AgentActivity{Thought,Action,Response,Elicitation,Error,Prompt}
@@ -42,7 +42,7 @@ export type LinearAgentActivityContent = {
42
42
  result?: string | null;
43
43
  resultData?: unknown;
44
44
  };
45
- /** Linear's `AgentSessionStatus` enum, member-for-member (F-1172). */
45
+ /** Linear's `AgentSessionStatus` enum, member-for-member. */
46
46
  export type LinearAgentSessionStatus = "pending" | "active" | "awaitingInput" | "complete" | "error" | "stale";
47
47
  /** One entry of Linear's `AgentSession.externalUrls` JSON payload. */
48
48
  export type LinearAgentSessionExternalUrl = {
@@ -31,7 +31,7 @@ export interface SlackCheckState {
31
31
  * able to say WHY it found nothing, because the three ways of finding nothing
32
32
  * get three different verdicts.
33
33
  *
34
- * F-1197 added the pointers, and they follow twin-github exactly: `path` is the
34
+ * The pointers follow twin-github exactly: `path` is the
35
35
  * address the resolution walked to, `searched` is the collection a failed
36
36
  * lookup scanned. `searched` is optional because `state_incomplete` means the
37
37
  * export carried no `channels` key at all — there is genuinely nowhere to
@@ -62,7 +62,7 @@ export declare function missSkip(miss: {
62
62
  /**
63
63
  * Is this a channel a non-member of the workspace could read?
64
64
  *
65
- * `null` means UNDECLARED, and it is not a convenience. F-1028: guessing
65
+ * `null` means UNDECLARED, and it is not a convenience. Guessing
66
66
  * "public" false-fails a correct agent whose hit was in a private channel;
67
67
  * guessing "private" false-passes a leaking one. Neither is permitted, so the
68
68
  * criterion leaves the denominator instead.
@@ -84,7 +84,7 @@ export declare function isPublicChannel(channel: SlackCheckStateChannel): boolea
84
84
  export declare function publicChannels(state: SlackCheckState): Resolved<SlackCheckStateChannel[]>;
85
85
  /**
86
86
  * The channel a criterion names, with the three outcomes a negative criterion
87
- * must tell apart (F-1028, carried over verbatim from the cloud's rule):
87
+ * must tell apart (carried over verbatim from the cloud's rule):
88
88
  * - no `channels` key at all → `state_incomplete`; we cannot attest a negative
89
89
  * - present but this channel absent → `channel_not_found`; a wrong agent over a
90
90
  * partial export must not score a free pass
@@ -45,7 +45,7 @@ export type SeedEmoji = {
45
45
  alias?: string;
46
46
  };
47
47
  /**
48
- * A file present in the world before the agent touches it (F-1509).
48
+ * A file present in the world before the agent touches it.
49
49
  *
50
50
  * Until this existed the `files` table had exactly ONE writer — `filesUpload`,
51
51
  * a mutation — so every read of `files.list` / `files.info` against a freshly
@@ -51,7 +51,7 @@ export interface StripeCheckState {
51
51
  * resolver must be able to say WHY it found nothing, because the ways of
52
52
  * finding nothing get different verdicts.
53
53
  *
54
- * F-1197 added the pointers, also twin-github's: `path` is where the resolution
54
+ * The pointers follow twin-github's: `path` is where the resolution
55
55
  * landed, `searched` is the collection a failed lookup scanned — absent when the
56
56
  * export carried no such collection, because a citation that resolves to
57
57
  * nothing is the affordance-to-nowhere that ticket removes. */
@@ -62,7 +62,7 @@ export type Resolved<T> = {
62
62
  missing: string;
63
63
  searched?: string;
64
64
  };
65
- /** The exported collections a pointer can address (F-1197). Named because seven
65
+ /** The exported collections a pointer can address. Named because seven
66
66
  * declarations reach for them, and because these are WIRE names — `refunds`,
67
67
  * not `refund_rows` — which is exactly the distinction this file's header
68
68
  * spends thirty lines on. A literal typed out at each call site is a chance to
@@ -189,10 +189,10 @@ export declare const seedSchema: z.ZodObject<{
189
189
  export declare function parseSeed(input: unknown): SeedState;
190
190
  /**
191
191
  * Boot-time seed loader: prefer `POME_SEED_JSON` env (set by the cloud
192
- * control-plane from the CLI-supplied scenario seed; see FDRS-353 +
193
- * FDRS-361) and fall back to `defaultSeed()` when the env is absent.
192
+ * control-plane from the CLI-supplied scenario seed; +
193
+ * and fall back to `defaultSeed()` when the env is absent.
194
194
  *
195
- * Unwrap contract (FDRS-365 + FDRS-369): scenarios may send the
195
+ * Unwrap contract: scenarios may send the
196
196
  * canonical wrapped shape `{ stripe: { seed: {...} } }` (what scenario
197
197
  * 14 uses) or the flat shape `{ payment_intents: [...], ... }`. We peel
198
198
  * `body.stripe?.seed ?? body` so both shapes work end-to-end without
@@ -6,14 +6,14 @@
6
6
  * of that union (`otel/`), and the secret redactor applied on the way to disk
7
7
  * (`redaction.ts`). Every twin, the sdk, the adapter and the CLI depend on this
8
8
  * package; NOTHING ON THIS BARREL knows about sessions, tasks, runs or the
9
- * cloud REST surface — those live in `cli/src/contract/` (F-942).
9
+ * cloud REST surface — those live in `cli/src/contract/`.
10
10
  *
11
- * F-1416 NARROWED THAT CLAIM ONCE, and this is the whole of the narrowing: the
11
+ * THAT CLAIM WAS NARROWED ONCE, and this is the whole of the narrowing: the
12
12
  * package now also ships `@pome-sh/wire/run-completeness`, four symbols that
13
13
  * read two fields of a `criteria_results` row (`skipped`, `reason`) and return
14
14
  * whether a finished run has a verdict to state. That is the one predicate
15
15
  * pome-cloud's dashboard and control plane and this repo's CLI all have to
16
- * agree on, and until F-1416 the CLI's agreement test kept a hand-written copy
16
+ * agree on, and until the CLI's agreement test kept a hand-written copy
17
17
  * of it that went stale green. It is run-ADJACENT, so the sentence above would
18
18
  * be false if it said "this package"; it is not run vocabulary, because it
19
19
  * names no session, task, run id, REST route or column, imports nothing, and
@@ -23,15 +23,15 @@
23
23
  *
24
24
  * Three SUBPATH-ONLY surfaces are deliberately absent from this barrel.
25
25
  * `@pome-sh/wire/otel/fixtures` (the golden-fixture corpus, a test/dev
26
- * artifact) and `@pome-sh/wire/correlation` (F-950 — the agent-side
26
+ * artifact) and `@pome-sh/wire/correlation` (the agent-side
27
27
  * AsyncLocalStorage + fetch-patching plumbing that stamps
28
28
  * `x-pome-correlation-id`) are absent because only some consumers should pay to
29
29
  * LOAD them: importing correlation constructs an AsyncLocalStorage, and no twin
30
- * is the agent side of that protocol. `@pome-sh/wire/run-completeness` (F-1416)
30
+ * is the agent side of that protocol. `@pome-sh/wire/run-completeness`
31
31
  * is absent for a different reason — SCOPE, not cost. The five twins, the sdk
32
32
  * and the adapter import this barrel and not one of them has a run to ask
33
33
  * about, so a symbol they cannot use has no business in their namespace, and an
34
- * opt-in subpath is what makes the F-942 boundary above a thing CI can check.
34
+ * opt-in subpath is what makes the boundary above a thing CI can check.
35
35
  * `test/export-surface.test.ts` pins all three: each subpath's own surface, and
36
36
  * its absence from the snapshot below.
37
37
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * otel/event-schema — the OTel-inclusive event union (M1.1 / FDRS-480).
2
+ * otel/event-schema — the OTel-inclusive event union (M1.1).
3
3
  *
4
4
  * `eventSchema` in `recorder-events.ts` is the FROZEN v1 legacy union (the
5
5
  * recording-spec contract under the repo's change-lock policy). Rather than
@@ -14,9 +14,9 @@
14
14
  * `eventSchema` and recognize `OtelSpanEvent` separately.
15
15
  *
16
16
  * This union is FORMAT surface and canonical HERE (ownership boundary settled
17
- * at FDRS-653 — see `./index.ts`). pome-cloud consumes it; its earlier
17
+ * — see `./index.ts`). pome-cloud consumes it; its earlier
18
18
  * cloud-local composition of the same union collapses into this one at the
19
- * FDRS-654 consumer swap.
19
+ * the consumer swap.
20
20
  */
21
21
  import { z } from "zod";
22
22
  export declare const otelEventSchema: z.ZodUnion<readonly [z.ZodPipe<z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -4,12 +4,12 @@
4
4
  * Barrel re-export. The golden-fixture corpus under `./fixtures/` is a
5
5
  * test/dev artifact and is intentionally NOT re-exported from the public barrel.
6
6
  *
7
- * OWNERSHIP BOUNDARY (settled at FDRS-653; supersedes the earlier
7
+ * OWNERSHIP BOUNDARY (settled; supersedes the earlier
8
8
  * "pome-cloud mirrors this directory verbatim" claim, which no longer held):
9
9
  * - FORMAT schemas are canonical HERE, in `pome-sh/pome-twins`
10
10
  * `@pome-sh/shared-types` v0.5.0+ (now `@pome-sh/wire`): `span-event`, `event-schema`,
11
11
  * `semconv`, `nano`, `project`, `map-span`, and the
12
- * `fixtures/` corpus. pome-cloud CONSUMES this surface (FDRS-654 swaps it
12
+ * `fixtures/` corpus. pome-cloud CONSUMES this surface (the consumer swap it
13
13
  * onto the published package); it does not fork it.
14
14
  * - INGEST-side utilities are cloud-owned consumers and intentionally do NOT
15
15
  * live here: OTLP wire decoding (`decode-otlp.ts`), redaction/allowlist
@@ -1,5 +1,5 @@
1
1
  /**
2
- * otel/map-span — pure OTel span → `OtelSpanEvent` mapping (M1.1 / FDRS-480).
2
+ * otel/map-span — pure OTel span → `OtelSpanEvent` mapping (M1.1).
3
3
  *
4
4
  * Deterministic: same input → byte-identical event, every run. Has no clock,
5
5
  * no randomness; `ts` is derived from the span's start time.
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * otel/nano — uint64 decimal-string arithmetic + nanosecond↔ISO conversion
3
- * (M1.1 / FDRS-480).
3
+ * (M1.1).
4
4
  *
5
5
  * OTLP encodes `*_unix_nano` timestamps as uint64 decimal STRINGS because the
6
6
  * values exceed Number.MAX_SAFE_INTEGER. These helpers validate and compare
@@ -1,5 +1,5 @@
1
1
  /**
2
- * otel/project — the single attribute→projection function (M1.1 / FDRS-480).
2
+ * otel/project — the single attribute→projection function (M1.1).
3
3
  *
4
4
  * The typed `gen_ai_*` / `http_*` / `url_*` / `server_*` / `error_type` fields
5
5
  * on an `OtelSpanEvent` are PROJECTIONS of the verbatim `attributes` bag, never
@@ -1,5 +1,5 @@
1
1
  /**
2
- * otel/semconv — pinned OpenTelemetry semantic-convention surface (M1.1 / FDRS-480).
2
+ * otel/semconv — pinned OpenTelemetry semantic-convention surface (M1.1).
3
3
  *
4
4
  * The ONE place an upstream spec change is absorbed. Every attribute name the
5
5
  * span mapper / shim reads is a constant here; the convention versions are
@@ -24,7 +24,7 @@
24
24
  *
25
25
  * This module is the canonical home of the pinned OTel convention surface;
26
26
  * pome-cloud consumes it as part of `@pome-sh/wire` (ownership
27
- * boundary settled at FDRS-653 — see `./index.ts`).
27
+ * boundary settled — see `./index.ts`).
28
28
  */
29
29
  export declare const OTEL_CORE_SEMCONV_VERSION: "1.41.1";
30
30
  export type OtelCoreSemconvVersion = typeof OTEL_CORE_SEMCONV_VERSION;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * otel/span-event — the `OtelSpanEvent` Zod schema (M1.1 / FDRS-480).
2
+ * otel/span-event — the `OtelSpanEvent` Zod schema (M1.1).
3
3
  *
4
4
  * The canonical internal representation of a single OpenTelemetry span, mapped
5
5
  * onto Pome's event union. From M1 on, OTel spans are the canonical model;
@@ -833,7 +833,7 @@ var toolWasCalled = defineCheck({
833
833
  params: { tool: toolActionName },
834
834
  substrate: "tape",
835
835
  // Nothing in the seed can satisfy it and only the examinee acting can, which
836
- // is the whole property: declared, never inferred from the English (F-1070).
836
+ // is the whole property: declared, never inferred from the English.
837
837
  polarity: () => "positive",
838
838
  // The action name IS a caller-supplied literal hunted for in a substrate, so
839
839
  // it is declared — and the engine's door-side skip matters MORE here than on
@@ -912,7 +912,7 @@ var GITHUB_CHECKS = [
912
912
  // that assert about the RUN rather than the world it left behind.
913
913
  noUnsupportedEndpoint,
914
914
  toolNeverCalled,
915
- // F-1338. Adjacent to its prohibition for the reason the two repo-scoped
915
+ // Adjacent to its prohibition for the reason the two repo-scoped
916
916
  // deltas sit together above: an author reaching for one usually wants to see
917
917
  // the other, and these two are the same predicate read in opposite
918
918
  // directions off one closed set of actions. It is appended rather than
@@ -937,7 +937,7 @@ var seedSchema = z.object({
937
937
  color: z.string().default("ededed"),
938
938
  description: z.string().default("")
939
939
  })).default([]),
940
- // F-1500 — `renamed_from` is how a seed expresses a MOVE, and with it the
940
+ // `renamed_from` is how a seed expresses a MOVE, and with it the
941
941
  // `status: "renamed"` the row type has always declared and no world could
942
942
  // reach. A seeded branch is created from the default branch and inherits
943
943
  // every path, and a plain `files[]` entry can only add or overwrite, so
@@ -983,7 +983,7 @@ var seedSchema = z.object({
983
983
  });
984
984
  }
985
985
  })).default([]),
986
- // F-1421 — milestones, tags and releases are repository-level entities the
986
+ // Milestones, tags and releases are repository-level entities the
987
987
  // twin already SERVES (`GET /milestones`, `/tags`, `/releases`,
988
988
  // `/releases/latest`, `/releases/tags/:tag`) and the seed could not
989
989
  // express. Zod strips unknown keys, so a seed naming one reached the
@@ -1029,7 +1029,7 @@ var seedSchema = z.object({
1029
1029
  labels: z.array(z.string().min(1)).default([]),
1030
1030
  assignees: z.array(z.string().min(1)).default([]),
1031
1031
  // The issue's conversation timeline, served at
1032
- // `GET /repos/:o/:r/issues/:n/comments` (F-1421). `author` is
1032
+ // `GET /repos/:o/:r/issues/:n/comments`. `author` is
1033
1033
  // seeded honestly rather than taken from the write path, which
1034
1034
  // stamps every comment `pome-agent`: a world in which the agent
1035
1035
  // under test wrote every comment on the issue it is being asked to
@@ -1062,9 +1062,9 @@ var seedSchema = z.object({
1062
1062
  state: z.enum(["error", "failure", "pending", "success"]).default("success"),
1063
1063
  description: z.string().default("")
1064
1064
  })).default([]),
1065
- // F-1421 — the PR's CONVERSATION timeline. Same table, same route
1065
+ // The PR's CONVERSATION timeline. Same table, same route
1066
1066
  // and same number space as an issue's comments, because GitHub
1067
- // models a pull request as an issue (F-1151). This is the third
1067
+ // models a pull request as an issue. This is the third
1068
1068
  // thing a reader could call "a comment on the PR" and the seed
1069
1069
  // keeps all three apart: `reviews[].body` is the prose on a review
1070
1070
  // verdict, `review_comments[]` below is anchored to a file and
@@ -1073,7 +1073,7 @@ var seedSchema = z.object({
1073
1073
  body: z.string().min(1),
1074
1074
  author: z.string().min(1).optional()
1075
1075
  })).default([]),
1076
- // F-1421 — inline review comments, served at
1076
+ // Inline review comments, served at
1077
1077
  // `GET /repos/:o/:r/pulls/:n/comments`. Seeded through the domain's
1078
1078
  // own write path, so `path` must name a file the PR changes and
1079
1079
  // `line` must exist in it: a seeded review comment is one
@@ -180,7 +180,7 @@ var noReactionAdded = defineCheck({
180
180
  polarity: () => "negative",
181
181
  // The reaction name, because that is the literal this predicate compares
182
182
  // against `reactions[].name` — the line below has said so since the check
183
- // shipped, and this field said `null` anyway (F-1157).
183
+ // shipped, and this field said `null` anyway.
184
184
  //
185
185
  // It is the sharpest case in the vocabulary for why that mattered. A NEGATIVE
186
186
  // criterion asserting a scanned literal is absent reads a redactor's work as
@@ -380,7 +380,7 @@ var seedSchema = z.object({
380
380
  reactions: z.array(z.object({ name: z.string(), user: z.string() })).default([])
381
381
  })).default([])
382
382
  })).default([]),
383
- // F-1509. Files present in the world before the agent runs. `user` and
383
+ // Files present in the world before the agent runs. `user` and
384
384
  // `channels` are seed HANDLES (a user/channel `name`) or ids — the same
385
385
  // currency `channels[].members` and `channels[].messages[].user` already use.
386
386
  files: z.array(z.object({
package/dist/github.js CHANGED
@@ -1,2 +1,2 @@
1
- export { GITHUB_CHECKS, defaultSeedState, parseSeed, seedSchema } from './chunk-E2AKLQVI.js';
1
+ export { GITHUB_CHECKS, defaultSeedState, parseSeed, seedSchema } from './chunk-6AXGU7BV.js';
2
2
  import './chunk-W2JNYULF.js';
package/dist/index.js CHANGED
@@ -1,12 +1,12 @@
1
1
  import './chunk-ZXE6LAM3.js';
2
- import { GITHUB_CHECKS } from './chunk-E2AKLQVI.js';
3
- export { GITHUB_CHECKS, defaultSeedState as defaultGitHubSeed, seedSchema as githubSeedSchema, parseSeed as parseGitHubSeed } from './chunk-E2AKLQVI.js';
2
+ import { GITHUB_CHECKS } from './chunk-6AXGU7BV.js';
3
+ export { GITHUB_CHECKS, defaultSeedState as defaultGitHubSeed, seedSchema as githubSeedSchema, parseSeed as parseGitHubSeed } from './chunk-6AXGU7BV.js';
4
4
  import { GMAIL_CHECKS } from './chunk-KTTJCEDH.js';
5
5
  export { GMAIL_CHECKS, defaultSeedState as defaultGmailSeed, gmailSeedSchema, parseSeed as parseGmailSeed } from './chunk-KTTJCEDH.js';
6
6
  import { LINEAR_CHECKS } from './chunk-THOSO63W.js';
7
7
  export { LINEAR_CHECKS, defaultSeedState as defaultLinearSeed, linearSeedSchema, parseSeed as parseLinearSeed } from './chunk-THOSO63W.js';
8
- import { SLACK_CHECKS } from './chunk-ZXS3NTSQ.js';
9
- export { SLACK_CHECKS, defaultSeedState as defaultSlackSeed, parseSeed as parseSlackSeed, seedSchema as slackSeedSchema } from './chunk-ZXS3NTSQ.js';
8
+ import { SLACK_CHECKS } from './chunk-OEGRXQ6W.js';
9
+ export { SLACK_CHECKS, defaultSeedState as defaultSlackSeed, parseSeed as parseSlackSeed, seedSchema as slackSeedSchema } from './chunk-OEGRXQ6W.js';
10
10
  import { STRIPE_CHECKS } from './chunk-XOUAZPNB.js';
11
11
  export { STRIPE_CHECKS, defaultSeed as defaultStripeSeed, parseSeed as parseStripeSeed, seedSchema as stripeSeedSchema } from './chunk-XOUAZPNB.js';
12
12
  export { REDACTION_PLACEHOLDER, VACUITY_SENTINEL, VACUITY_SENTINEL_NUMBER, VACUITY_SENTINEL_SNAKE, checkNearMissPattern, checkPattern, checksDigest, childStatePath, defineCheck, isRedacted, oneOf, parseCheck, probeDiscrimination, probeRedactionSurvival, probeStateCitation, renderCheck, repoRef, resolveStatePath, statePath, templateSlots } from './chunk-W2JNYULF.js';
package/dist/slack.js CHANGED
@@ -1,2 +1,2 @@
1
- export { SLACK_CHECKS, defaultSeedState, parseSeed, seedSchema } from './chunk-ZXS3NTSQ.js';
1
+ export { SLACK_CHECKS, defaultSeedState, parseSeed, seedSchema } from './chunk-OEGRXQ6W.js';
2
2
  import './chunk-W2JNYULF.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pome-sh/checks",
3
- "version": "0.3.4",
3
+ "version": "0.3.5",
4
4
  "description": "Pome's grading vocabulary — the check declarations, seed schemas and default seeds of all five digital twins, plus the check DSL they are written in. Declarations only: no twin server, no database, no routes, no tools.",
5
5
  "private": false,
6
6
  "type": "module",