@skillcap/gdh 0.13.3 → 0.15.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.
Files changed (33) hide show
  1. package/INSTALL-BUNDLE.json +1 -1
  2. package/README.md +4 -4
  3. package/RELEASE-SPAN-UPDATE-CONTRACTS.json +158 -0
  4. package/node_modules/@gdh/adapters/package.json +8 -8
  5. package/node_modules/@gdh/authoring/package.json +2 -2
  6. package/node_modules/@gdh/cli/package.json +10 -10
  7. package/node_modules/@gdh/core/dist/index.d.ts +37 -2
  8. package/node_modules/@gdh/core/dist/index.d.ts.map +1 -1
  9. package/node_modules/@gdh/core/dist/index.js +2 -2
  10. package/node_modules/@gdh/core/dist/index.js.map +1 -1
  11. package/node_modules/@gdh/core/package.json +1 -1
  12. package/node_modules/@gdh/docs/dist/guidance.d.ts.map +1 -1
  13. package/node_modules/@gdh/docs/dist/guidance.js +1 -0
  14. package/node_modules/@gdh/docs/dist/guidance.js.map +1 -1
  15. package/node_modules/@gdh/docs/package.json +2 -2
  16. package/node_modules/@gdh/mcp/package.json +8 -8
  17. package/node_modules/@gdh/observability/dist/runtime-bundles.d.ts.map +1 -1
  18. package/node_modules/@gdh/observability/dist/runtime-bundles.js +28 -2
  19. package/node_modules/@gdh/observability/dist/runtime-bundles.js.map +1 -1
  20. package/node_modules/@gdh/observability/package.json +2 -2
  21. package/node_modules/@gdh/runtime/dist/bridge-surface.js +232 -6
  22. package/node_modules/@gdh/runtime/dist/bridge-surface.js.map +1 -1
  23. package/node_modules/@gdh/runtime/dist/index.d.ts.map +1 -1
  24. package/node_modules/@gdh/runtime/dist/index.js +427 -17
  25. package/node_modules/@gdh/runtime/dist/index.js.map +1 -1
  26. package/node_modules/@gdh/runtime/package.json +2 -2
  27. package/node_modules/@gdh/scan/package.json +3 -3
  28. package/node_modules/@gdh/verify/dist/scenarios.d.ts +3 -1
  29. package/node_modules/@gdh/verify/dist/scenarios.d.ts.map +1 -1
  30. package/node_modules/@gdh/verify/dist/scenarios.js +425 -36
  31. package/node_modules/@gdh/verify/dist/scenarios.js.map +1 -1
  32. package/node_modules/@gdh/verify/package.json +7 -7
  33. package/package.json +12 -12
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "product": "GDH",
3
- "version": "0.13.3",
3
+ "version": "0.15.0",
4
4
  "installMode": "packaged_install"
5
5
  }
package/README.md CHANGED
@@ -12,10 +12,10 @@ GDH detects your Godot project, configures your AI agents, and gives them the co
12
12
  ## Install
13
13
 
14
14
  ```sh
15
- npx -y @skillcap/gdh@0.13.3 setup
15
+ npx -y @skillcap/gdh@0.15.0 setup
16
16
  ```
17
17
 
18
- Replace `0.13.3` with the GDH version you want to pin this project to. `gdh setup` records the pinned version in `.gdh/project.yaml`; every managed surface generated from that config invokes GDH at that exact pinned version, so future sessions stay reproducible.
18
+ Replace `0.15.0` with the GDH version you want to pin this project to. `gdh setup` records the pinned version in `.gdh/project.yaml`; every managed surface generated from that config invokes GDH at that exact pinned version, so future sessions stay reproducible.
19
19
 
20
20
  From `0.9.0` onward, the shipped package also carries bounded release-span update metadata in `RELEASE-SPAN-UPDATE-CONTRACTS.json` so update flows can explain release-specific migration steps without reading repo-only `docs/releases/` files at target runtime.
21
21
 
@@ -36,7 +36,7 @@ The full install and update contract lives in [install-and-update.md](docs/devel
36
36
 
37
37
  ```sh
38
38
  # 1. Run setup in your Godot project
39
- npx -y @skillcap/gdh@0.13.3 setup
39
+ npx -y @skillcap/gdh@0.15.0 setup
40
40
 
41
41
  # 2. Open your AI agent (Claude, Cursor, Codex) in the repo
42
42
 
@@ -101,7 +101,7 @@ The CLI exists for advanced operators, debugging, and automation. Update preview
101
101
 
102
102
  ## Status
103
103
 
104
- GDH now ships the current `0.13.3` release line and remains ready for broader internal use within the documented support contract. The current release line is `0.13.3` at the `broader_internal_release` stage.
104
+ GDH now ships the current `0.15.0` release line and remains ready for broader internal use within the documented support contract. The current release line is `0.15.0` at the `broader_internal_release` stage.
105
105
  That line includes one first-class Docker-backed rendered runtime provider and bounded screenshot evidence on rendered-capable paths.
106
106
 
107
107
  The release-stage label applies only to the documented support window in [runtime-support-matrix.md](docs/development/runtime-support-matrix.md) and [runtime-release-readiness.md](docs/development/runtime-release-readiness.md). It is not a blanket claim that every Godot project shape is supported or that this implementation checkout should behave like a GDH-managed target repo.
@@ -933,6 +933,164 @@
933
933
  }
934
934
  ]
935
935
  }
936
+ },
937
+ {
938
+ "version": "0.14.0",
939
+ "releaseTag": "v0.14.0",
940
+ "migrationStatus": "required",
941
+ "summary": "v0.14.0 expands state-first runtime verification with node-presence and signal waiters, persists waiter evidence in run records, and refreshes shipped guidance to the canonical rendered-screenshot plus waiter vocabulary. The release changes both GDH_GUIDANCE_UNIT_VERSION (2 -> 3) and GDH_RUNTIME_BRIDGE_SURFACE_VERSION (3 -> 4), so managed targets need release-specific follow-through: bridge-enabled targets repair the runtime bridge and finish plugin/autoload registration, then onboarded targets run `gdh migrate --apply` to regenerate guidance units and return to a healthy lifecycle state.",
942
+ "releaseHighlights": {
943
+ "summary": "v0.14.0 pushes GDH runtime verification toward state-first proof instead of ad hoc polling. The managed runtime bridge now supports node-presence and signal-observation waiters, run records preserve waiter evidence and clearer rendered failure classes, and the shipped guidance plus bridge surfaces move to versions `3` and `4`. Because both managed guidance units and the managed runtime bridge surface changed, this release requires a bounded post-update migration path.",
944
+ "operatorChanges": [
945
+ "**Bounded waiter coverage expands beyond node-property polling.** The managed runtime bridge now ships the plumbing behind `state.node_presence.await` and `state.signal.await`, so runtime verification can wait on node appearance/disappearance and signal emission through structured bridge evidence instead of open-ended sleep loops.",
946
+ "**Run records keep waiter evidence and split rendered failures more honestly.** Runtime assertion results now persist waiter evidence and transcripts, inspect surfaces prefer the latest valid run record when local debris exists, and rendered verification feedback now separates screenshot-unavailable, provider/runtime incompatibility, and assertion-failure signals.",
947
+ "**Project-owned guidance surfaces now reinforce the shipped runtime vocabulary.** Managed guidance units now say `artifact_policy.screenshots: \"rendered\"` is canonical, keep legacy `\"fallback\"` only as a compatibility alias, and carry the bounded `player_reachable` / `internal_route` / `waiter` terminology used by the runtime and verification surfaces.",
948
+ "**Release safety checks are stricter for maintainers.** `corepack yarn release:preview --json` now refuses stale branch lineages, and required-release migration proof is part of the hard `check:public-release` gate instead of maintainer ceremony only."
949
+ ]
950
+ },
951
+ "updateContract": {
952
+ "summary": "Managed targets need a release-specific post-update path for v0.14.0 because guidance units move to version 3 and the runtime bridge surface moves to version 4. Bridge-enabled targets repair the managed bridge and finish plugin registration first, then `gdh migrate --apply` refreshes the guidance units and returns the target to a healthy lifecycle state.",
953
+ "steps": [
954
+ {
955
+ "id": "verify_post_update_status",
956
+ "kind": "mechanical",
957
+ "summary": "Run the standard post-update lifecycle check.",
958
+ "detail": "Start with `gdh status` so GDH can tell you whether the target only needs the guidance refresh branch or whether it also entered the bridge-specific repair branch for the v0.14.0 runtime bridge surface update.",
959
+ "commands": [
960
+ "gdh status"
961
+ ],
962
+ "validationCommands": [
963
+ "gdh status"
964
+ ]
965
+ },
966
+ {
967
+ "id": "inspect_bridge_specific_branch",
968
+ "kind": "agent_reasoning",
969
+ "summary": "Decide whether the target also needs the bridge-specific repair branch.",
970
+ "detail": "If `gdh status` surfaces `runtime_bridge_*` reasons, inspect `gdh bridge status` and treat that as the v0.14.0 bridge branch. If no runtime-bridge reasons appear, skip the bridge-specific steps and proceed straight to `gdh migrate --apply` for the guidance-unit refresh.",
971
+ "commands": [
972
+ "gdh bridge status"
973
+ ],
974
+ "validationCommands": [
975
+ "gdh status"
976
+ ]
977
+ },
978
+ {
979
+ "id": "repair_runtime_bridge_surface",
980
+ "kind": "mechanical",
981
+ "summary": "Repair the managed runtime bridge files when the bridge branch is active.",
982
+ "detail": "Bridge-enabled `v0.13.3` targets drift on the managed bridge files shipped in surface version 4. Run `gdh bridge repair` to rewrite the managed bridge files before attempting the final guidance refresh.",
983
+ "commands": [
984
+ "gdh bridge repair"
985
+ ],
986
+ "validationCommands": [
987
+ "gdh bridge status"
988
+ ]
989
+ },
990
+ {
991
+ "id": "enable_plugin_and_finish_gdhbridge_registration",
992
+ "kind": "manual_review",
993
+ "summary": "Enable the GDH Runtime Bridge plugin so GDHBridge registers again.",
994
+ "detail": "GDH still does not hand-edit `project.godot` for operators. After `gdh bridge repair`, open the project in the Godot editor and enable the `GDH Runtime Bridge` plugin so it can register `GDHBridge` and clear the remaining plugin/autoload reasons.",
995
+ "commands": [],
996
+ "validationCommands": [
997
+ "gdh bridge status",
998
+ "gdh status"
999
+ ]
1000
+ },
1001
+ {
1002
+ "id": "refresh_guidance_units_and_validate",
1003
+ "kind": "mechanical",
1004
+ "summary": "Run migrate apply to refresh the guidance units and finish the release hop.",
1005
+ "detail": "Once bridge follow-through is complete, or immediately when the target had no bridge-specific reasons, run `gdh migrate --apply`. This regenerates the managed guidance-unit surfaces at version 3 and should return the target to a healthy lifecycle state.",
1006
+ "commands": [
1007
+ "gdh migrate --apply"
1008
+ ],
1009
+ "validationCommands": [
1010
+ "gdh status"
1011
+ ]
1012
+ }
1013
+ ]
1014
+ }
1015
+ },
1016
+ {
1017
+ "version": "0.15.0",
1018
+ "releaseTag": "v0.15.0",
1019
+ "migrationStatus": "required",
1020
+ "summary": "v0.15.0 adds on-demand rendered screenshot capture through the active runtime bridge and refreshes generated guidance so agents use MCP `bridge.entry.invoke` for arbitrary-moment screenshots. The release changes both GDH_GUIDANCE_UNIT_VERSION (3 -> 4) and GDH_RUNTIME_BRIDGE_SURFACE_VERSION (4 -> 5), so managed targets need release-specific follow-through: bridge-enabled targets repair the runtime bridge and finish plugin/autoload registration when required, then onboarded targets run `gdh migrate --apply` to regenerate guidance units and return to a healthy lifecycle state.",
1021
+ "releaseHighlights": {
1022
+ "summary": "v0.15.0 makes rendered screenshots available at the moment an agent needs them. Active runtime bridge sessions now expose a bounded `screenshot.capture` action through MCP `bridge.entry.invoke`, so an agent can launch a game, drive or wait to the target state, and capture the current rendered frame instead of guessing the right screenshot timing at launch. Because the managed guidance units and runtime bridge surface changed, this release requires the bounded post-update migration path.",
1023
+ "operatorChanges": [
1024
+ "**Screenshots are now an on-demand runtime bridge action.** Agents can start a bridge session, use existing bridge entries or waiters to reach the desired state, then invoke `screenshot.capture` to write a PNG plus metadata under the session artifacts.",
1025
+ "**Verification-scenario screenshots stay as supporting run evidence.** `artifact_policy.screenshots: \"rendered\"` still requests one supporting screenshot for a run record, but arbitrary-moment screenshots now use the active bridge session instead of launch-time environment variables.",
1026
+ "**Managed guidance tells agents which screenshot path to use.** Generated `docs/agent/authoring-and-validation.md` now calls out `screenshot.capture` and MCP `bridge.entry.invoke` for interactive runtime work while keeping screenshot scenario truth source-backed.",
1027
+ "**The managed bridge surface moves to the next contract version.** Bridge-enabled targets repair from runtime bridge surface `4` to `5` to receive the `screenshot.capture` entry and matching runtime capture helper."
1028
+ ]
1029
+ },
1030
+ "updateContract": {
1031
+ "summary": "Managed targets need a release-specific post-update path for v0.15.0 because guidance units move to version 4 and the runtime bridge surface moves to version 5. Bridge-enabled targets repair the managed bridge and finish plugin registration first when needed, then `gdh migrate --apply` refreshes the guidance units and returns the target to a healthy lifecycle state.",
1032
+ "steps": [
1033
+ {
1034
+ "id": "verify_post_update_status",
1035
+ "kind": "mechanical",
1036
+ "summary": "Run the standard post-update lifecycle check.",
1037
+ "detail": "Start with `gdh status` so GDH can tell you whether the target only needs the guidance refresh branch or whether it also entered the bridge-specific repair branch for the v0.15.0 runtime bridge surface update.",
1038
+ "commands": [
1039
+ "gdh status"
1040
+ ],
1041
+ "validationCommands": [
1042
+ "gdh status"
1043
+ ]
1044
+ },
1045
+ {
1046
+ "id": "inspect_bridge_specific_branch",
1047
+ "kind": "agent_reasoning",
1048
+ "summary": "Decide whether the target also needs the bridge-specific repair branch.",
1049
+ "detail": "If `gdh status` surfaces `runtime_bridge_*` reasons, inspect `gdh bridge status` and treat that as the v0.15.0 bridge branch. If no runtime-bridge reasons appear, skip the bridge-specific steps and proceed straight to `gdh migrate --apply` for the guidance-unit refresh.",
1050
+ "commands": [
1051
+ "gdh bridge status"
1052
+ ],
1053
+ "validationCommands": [
1054
+ "gdh status"
1055
+ ]
1056
+ },
1057
+ {
1058
+ "id": "repair_runtime_bridge_surface",
1059
+ "kind": "mechanical",
1060
+ "summary": "Repair the managed runtime bridge files when the bridge branch is active.",
1061
+ "detail": "Bridge-enabled `v0.14.0` targets drift on the managed bridge files shipped in surface version 5. Run `gdh bridge repair` to rewrite the managed bridge files before attempting the final guidance refresh.",
1062
+ "commands": [
1063
+ "gdh bridge repair"
1064
+ ],
1065
+ "validationCommands": [
1066
+ "gdh bridge status"
1067
+ ]
1068
+ },
1069
+ {
1070
+ "id": "enable_plugin_and_finish_gdhbridge_registration",
1071
+ "kind": "manual_review",
1072
+ "summary": "Enable the GDH Runtime Bridge plugin so GDHBridge registers when required.",
1073
+ "detail": "GDH still does not hand-edit `project.godot` for operators. After `gdh bridge repair`, if bridge status still reports plugin/autoload follow-through, open the project in the Godot editor and enable the `GDH Runtime Bridge` plugin so it can register `GDHBridge`.",
1074
+ "commands": [],
1075
+ "validationCommands": [
1076
+ "gdh bridge status",
1077
+ "gdh status"
1078
+ ]
1079
+ },
1080
+ {
1081
+ "id": "refresh_guidance_units_and_validate",
1082
+ "kind": "mechanical",
1083
+ "summary": "Run migrate apply to refresh guidance units and finish the release hop.",
1084
+ "detail": "Once bridge follow-through is complete, or immediately when the target had no bridge-specific reasons, run `gdh migrate --apply`. This regenerates the managed guidance-unit surfaces at version 4 and should return the target to a healthy lifecycle state.",
1085
+ "commands": [
1086
+ "gdh migrate --apply"
1087
+ ],
1088
+ "validationCommands": [
1089
+ "gdh status"
1090
+ ]
1091
+ }
1092
+ ]
1093
+ }
936
1094
  }
937
1095
  ]
938
1096
  }
@@ -11,13 +11,13 @@
11
11
  }
12
12
  },
13
13
  "dependencies": {
14
- "@gdh/authoring": "0.13.3",
15
- "@gdh/core": "0.13.3",
16
- "@gdh/docs": "0.13.3",
17
- "@gdh/observability": "0.13.3",
18
- "@gdh/runtime": "0.13.3",
19
- "@gdh/scan": "0.13.3",
20
- "@gdh/verify": "0.13.3"
14
+ "@gdh/authoring": "0.15.0",
15
+ "@gdh/core": "0.15.0",
16
+ "@gdh/docs": "0.15.0",
17
+ "@gdh/observability": "0.15.0",
18
+ "@gdh/runtime": "0.15.0",
19
+ "@gdh/scan": "0.15.0",
20
+ "@gdh/verify": "0.15.0"
21
21
  },
22
- "version": "0.13.3"
22
+ "version": "0.15.0"
23
23
  }
@@ -14,7 +14,7 @@
14
14
  "test": "vitest run"
15
15
  },
16
16
  "dependencies": {
17
- "@gdh/core": "0.13.3"
17
+ "@gdh/core": "0.15.0"
18
18
  },
19
- "version": "0.13.3"
19
+ "version": "0.15.0"
20
20
  }
@@ -15,16 +15,16 @@
15
15
  },
16
16
  "dependencies": {
17
17
  "@clack/prompts": "^1.2.0",
18
- "@gdh/adapters": "0.13.3",
19
- "@gdh/authoring": "0.13.3",
20
- "@gdh/core": "0.13.3",
21
- "@gdh/docs": "0.13.3",
22
- "@gdh/mcp": "0.13.3",
23
- "@gdh/observability": "0.13.3",
24
- "@gdh/runtime": "0.13.3",
25
- "@gdh/scan": "0.13.3",
26
- "@gdh/verify": "0.13.3",
18
+ "@gdh/adapters": "0.15.0",
19
+ "@gdh/authoring": "0.15.0",
20
+ "@gdh/core": "0.15.0",
21
+ "@gdh/docs": "0.15.0",
22
+ "@gdh/mcp": "0.15.0",
23
+ "@gdh/observability": "0.15.0",
24
+ "@gdh/runtime": "0.15.0",
25
+ "@gdh/scan": "0.15.0",
26
+ "@gdh/verify": "0.15.0",
27
27
  "picocolors": "^1.1.1"
28
28
  },
29
- "version": "0.13.3"
29
+ "version": "0.15.0"
30
30
  }
@@ -10,7 +10,7 @@ export declare const GDH_SCENARIO_SCHEMA_VERSION = 2;
10
10
  export declare const GDH_RULES_SCHEMA_VERSION = 1;
11
11
  export declare const GDH_AGENT_CONTRACT_VERSION = 1;
12
12
  export declare const GDH_GUIDANCE_INDEX_VERSION = 2;
13
- export declare const GDH_GUIDANCE_UNIT_VERSION = 2;
13
+ export declare const GDH_GUIDANCE_UNIT_VERSION = 4;
14
14
  export declare const GDH_GUIDANCE_AUDIT_VERSION = 1;
15
15
  export declare const GDH_AUTHORING_SESSION_VERSION = 2;
16
16
  export declare const GDH_AUTHORING_DOGFOOD_VERSION = 1;
@@ -21,7 +21,7 @@ export declare const GDH_UPDATE_HOOK_VERSION = 1;
21
21
  export declare const GDH_RUNTIME_RECIPE_RUN_VERSION = 1;
22
22
  export declare const GDH_RUNTIME_RUN_BUNDLE_VERSION = 1;
23
23
  export declare const GDH_RUNTIME_CORPUS_ARTIFACT_VERSION = 1;
24
- export declare const GDH_RUNTIME_BRIDGE_SURFACE_VERSION = 3;
24
+ export declare const GDH_RUNTIME_BRIDGE_SURFACE_VERSION = 5;
25
25
  export type GdhProductReleaseStage = "targeted_internal_use" | "broader_internal_release" | "external_or_public_preview";
26
26
  export type GdhCurrentInstallMode = "development_checkout" | "packaged_install";
27
27
  export type GdhProductCompatibilityState = "compatible" | "migration_available" | "migration_needed" | "migration_blocked" | "compatibility_degraded";
@@ -883,6 +883,8 @@ export type GdhRuntimeBridgeSessionStartState = "ready" | "blocked" | "failed";
883
883
  export type GdhRuntimeBridgeEntryListState = "ready" | "missing";
884
884
  export type GdhRuntimeBridgeStopState = "stopped" | "missing";
885
885
  export type GdhRuntimeBridgeInvocationState = "ok" | "unavailable" | "busy" | "failed" | "cancelled";
886
+ export type GdhRuntimeBridgeWaiterId = "state.node_property.await" | "state.node_presence.await" | "state.signal.await";
887
+ export type GdhRuntimeBridgeWaiterOutcome = "satisfied" | "timed_out";
886
888
  export type GdhFailureAttribution = "project_issue" | "environment_issue" | "recipe_issue" | "scenario_issue" | "gdh_gap" | "agent_judgment_issue" | "unknown";
887
889
  export interface GdhProjectRootReference {
888
890
  readonly path: string;
@@ -1359,6 +1361,7 @@ export interface GdhRuntimeBridgeInvocationResult {
1359
1361
  readonly summary: string;
1360
1362
  readonly reasons: readonly string[];
1361
1363
  readonly result: GdhJsonValue | null;
1364
+ readonly waiterEvidence: GdhRuntimeBridgeWaiterEvidence | null;
1362
1365
  readonly transcriptPath: string | null;
1363
1366
  }
1364
1367
  export interface GdhRuntimeBridgeSessionStopResult {
@@ -1449,6 +1452,16 @@ export interface GdhRuntimeRecipeRunResult {
1449
1452
  readonly artifacts: readonly GdhRuntimeArtifactReference[];
1450
1453
  readonly statusPromotion: GdhRuntimeStatusPromotion;
1451
1454
  }
1455
+ export interface GdhRuntimeBridgeWaiterEvidence {
1456
+ readonly waiterId: GdhRuntimeBridgeWaiterId;
1457
+ readonly outcome: GdhRuntimeBridgeWaiterOutcome;
1458
+ readonly startedAt: string;
1459
+ readonly finishedAt: string;
1460
+ readonly timeoutMs: number;
1461
+ readonly pollCount: number;
1462
+ readonly target: Readonly<Record<string, GdhJsonValue>>;
1463
+ readonly result: GdhJsonValue | null;
1464
+ }
1452
1465
  export interface GdhScenarioAssertionDefinition {
1453
1466
  readonly id: string;
1454
1467
  readonly summary: string;
@@ -1468,6 +1481,13 @@ export interface GdhScenarioExecutionPolicy {
1468
1481
  export interface GdhScenarioRetryPolicy {
1469
1482
  readonly maxAttempts: number;
1470
1483
  }
1484
+ export interface GdhScenarioRuntimeAssertionDefinition {
1485
+ readonly id: string;
1486
+ readonly summary: string;
1487
+ readonly waiter: GdhRuntimeBridgeWaiterId;
1488
+ readonly input: Readonly<Record<string, GdhJsonValue>>;
1489
+ readonly required: boolean;
1490
+ }
1471
1491
  export interface GdhScenarioDefinition {
1472
1492
  readonly schemaVersion: typeof GDH_SCENARIO_SCHEMA_VERSION;
1473
1493
  readonly id: string;
@@ -1478,6 +1498,7 @@ export interface GdhScenarioDefinition {
1478
1498
  readonly setupSteps: readonly string[];
1479
1499
  readonly actions: readonly string[];
1480
1500
  readonly assertions: readonly GdhScenarioAssertionDefinition[];
1501
+ readonly runtimeAssertions: readonly GdhScenarioRuntimeAssertionDefinition[];
1481
1502
  readonly artifactPolicy: GdhScenarioArtifactPolicy;
1482
1503
  readonly executionPolicy: GdhScenarioExecutionPolicy;
1483
1504
  readonly retryPolicy: GdhScenarioRetryPolicy;
@@ -1550,6 +1571,19 @@ export interface GdhHarnessFeedbackItem {
1550
1571
  readonly summary: string;
1551
1572
  readonly details: readonly string[];
1552
1573
  }
1574
+ export interface GdhRuntimeScenarioRuntimeAssertionResult {
1575
+ readonly id: string;
1576
+ readonly summary: string;
1577
+ readonly required: boolean;
1578
+ readonly waiter: GdhRuntimeBridgeWaiterId;
1579
+ readonly input: Readonly<Record<string, GdhJsonValue>>;
1580
+ readonly status: GdhScenarioAssertionStatus;
1581
+ readonly state: GdhRuntimeBridgeInvocationState;
1582
+ readonly reasons: readonly string[];
1583
+ readonly result: GdhJsonValue | null;
1584
+ readonly waiterEvidence: GdhRuntimeBridgeWaiterEvidence | null;
1585
+ readonly transcriptPath: string | null;
1586
+ }
1553
1587
  export interface GdhRuntimeScenarioAttemptResult {
1554
1588
  readonly attemptNumber: number;
1555
1589
  readonly startedAt: string;
@@ -1560,6 +1594,7 @@ export interface GdhRuntimeScenarioAttemptResult {
1560
1594
  readonly recipeRun: GdhRuntimeRecipeRunResult;
1561
1595
  readonly inspection: readonly GdhRuntimeInspectionSource[];
1562
1596
  readonly assertions: readonly GdhScenarioAssertionResult[];
1597
+ readonly runtimeAssertions: readonly GdhRuntimeScenarioRuntimeAssertionResult[];
1563
1598
  readonly feedback: readonly GdhHarnessFeedbackItem[];
1564
1599
  }
1565
1600
  export interface GdhRuntimeRunBundle {