5#include <neograph/mcp/harness_program_translator.h>
16namespace neograph::mcp {
18class HarnessRecordStore;
30 static constexpr std::uint32_t STORAGE_SCHEMA_VERSION = 2;
33 std::string owner_scope,
34 program::ProgramBundle bundle,
35 program::ProgramVersion version,
40 const std::string& artifact_id()
const noexcept;
41 const std::string& owner_scope()
const noexcept;
42 const program::ProgramBundle& bundle()
const noexcept;
43 const program::ProgramVersion& version()
const noexcept;
45 json projection()
const;
47 json serialize()
const;
52 std::shared_ptr<const Impl> impl_;
64 static constexpr std::uint32_t STORAGE_SCHEMA_VERSION = 2;
71 const std::string& artifact_id()
const noexcept;
72 const std::string& owner_scope()
const noexcept;
75 json projection()
const;
77 json serialize()
const;
82 std::shared_ptr<const Impl> impl_;
95 virtual std::shared_ptr<program::ProgramTransitionStore>
99 virtual std::optional<HarnessProgramRunRecord>
115 virtual std::optional<program::ContractRun>
121NEOGRAPH_HARNESS_API std::shared_ptr<HarnessProgramAdapterStore>
122require_harness_program_adapter_store(
const std::shared_ptr<HarnessRecordStore>& records);
134 std::string artifact_id,
135 std::string owner_scope,
145 void publish_admitted_sync(
const program::ProgramBundle& bundle,
146 const program::ProgramVersion& version)
override;
147 std::optional<program::ProgramBundle> get_bundle_sync(std::string_view
id)
const override;
148 std::optional<program::ProgramVersion> get_version_sync(std::string_view
id)
const override;
149 std::optional<program::ProgramBundle>
150 get_bundle_sync(std::string_view owner_scope, std::string_view
id)
const override;
151 std::optional<program::ProgramVersion>
152 get_version_sync(std::string_view owner_scope, std::string_view
id)
const override;
159 std::unique_ptr<Impl> impl_;
166 std::string owner_scope);
169 std::optional<program::ProgramJournalRecord> latest(std::string_view run_id)
const override;
170 program::JournalAppendResult compare_append(
171 std::string_view expected_previous_id,
176 std::unique_ptr<Impl> impl_;
NEOGRAPH_API export/import macro for shared-library builds.
ProgramJournal compatibility view backed exclusively by ProgramTransitionStore CAS.
One-artifact ProgramStore view over HarnessRecordStore.
std::optional< HarnessProgramArtifactRecord > load_artifact() const
Owner-scoped strict load.
Optional durable boundary for the Harness contract state associated with a canonical Program run.
Temporary PR7–PR12 Harness alias/binding factory.
virtual std::optional< HarnessProgramRunRecord > resolve_program_run(std::string_view owner_scope, std::string_view run_id) const =0
Wrong-owner lookups are indistinguishable from absence.
Strict P2 compatibility record for one Harness artifact alias.
Strict adapter wrapper for one canonical ProgramRunRecord.
Durable-boundary state machine for one implementation attempt.
Deep-owned, content-addressed run snapshot used for reconnect and CAS publication.
Base of a ProgramStore whose backend is synchronous: the in-memory store, SQLite and PostgreSQL.
Thin C++ RAII wrapper around yyjson with nlohmann-compatible API.
Frozen implementation contracts and fail-closed verification evidence.
Atomic storage of admitted Program bundles and versions.
Immutable input and budget selected during Harness translation, before the admitted ProgramVersion an...
Deep-owned stored journal value.
One owner-scoped Program request.
Atomic owner-scoped Program transition publication.