|
Arachne 1.0
Arachne - the perpetual stitcher of Wikidata entities.
|
#include <include/penelope/store.hpp>
Public Member Functions | |
| store (std::filesystem::path root) | |
| snapshot_result | replace_candidate_snapshot (const candidate_snapshot_request &request) |
| std::optional< snapshot_result > | active_snapshot (graph_domain domain) const |
| integrity_report | integrity_check (graph_domain domain, const std::filesystem::path &database_path) const |
| void | checkpoint_staging (graph_domain domain, const std::filesystem::path &database_path) const |
| std::string | export_jsonl (graph_domain domain, const std::filesystem::path &database_path, const std::filesystem::path &destination) const |
| const std::filesystem::path & | root () const noexcept |
Private Attributes | |
| std::filesystem::path | root_ |
Penelope's isolated SQLite persistence boundary.
Candidate builds always start from an empty database and therefore cannot carry grey/group/greedy state from an older build. Product data is maintained directly by the dedicated inbox importer; it is deliberately outside this immutable candidate-snapshot store.
Canonical SQLite files contain research data only. Run IDs, payload paths, and artifact hashes are written exclusively to metadata.json beside the database.
|
explicit |
Definition at line 1283 of file store.cpp.
|
nodiscard |
Return the currently active immutable snapshot, if one exists.
Definition at line 1307 of file store.cpp.
| void arachne::penelope::store::checkpoint_staging | ( | graph_domain | domain, |
| const std::filesystem::path & | database_path ) const |
Checkpoint a staging database and require a clean integrity report. This must not be used to modify a database referenced by ACTIVE.
Definition at line 1323 of file store.cpp.
References arachne::penelope::anonymous_namespace{store.cpp}::remove_staging_sqlite_sidecars(), and arachne::penelope::anonymous_namespace{store.cpp}::seal_and_validate_database().
Referenced by replace_candidate_snapshot().


|
nodiscard |
Write the stable, table-ordered JSONL representation of a snapshot.
Definition at line 1337 of file store.cpp.
References arachne::penelope::anonymous_namespace{store.cpp}::database::database(), arachne::penelope::anonymous_namespace{store.cpp}::immutable_readonly, and arachne::crypto::sha256_file().
Referenced by replace_candidate_snapshot().


|
nodiscard |
Run SQLite integrity, FK, and domain-specific structural checks.
Definition at line 1315 of file store.cpp.
References arachne::penelope::anonymous_namespace{store.cpp}::immutable_readonly, and arachne::penelope::anonymous_namespace{store.cpp}::inspect_database().

|
nodiscard |
Definition at line 1523 of file store.cpp.
References arachne::penelope::candidate, checkpoint_staging(), arachne::penelope::anonymous_namespace{store.cpp}::transaction::commit(), arachne::penelope::anonymous_namespace{store.cpp}::configure_connection(), arachne::penelope::anonymous_namespace{store.cpp}::create_candidate_schema(), arachne::penelope::anonymous_namespace{store.cpp}::database::database(), export_jsonl(), arachne::penelope::anonymous_namespace{store.cpp}::database::get(), arachne::penelope::anonymous_namespace{store.cpp}::require_sha256(), arachnespace::contracts::research_candidate_graph_plan, arachnespace::contracts::research_candidate_graph_snapshot, arachne::penelope::candidate_snapshot_request::run_id, arachne::crypto::sha256_file(), and arachne::penelope::anonymous_namespace{store.cpp}::transaction::transaction().
Referenced by anonymous_namespace{main.cpp}::command_candidate_rebuild().


|
inlinenodiscardnoexcept |
|
private |