1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
// What a candidate artifact is admitted against: the engine revision,
// contract version and dependency fingerprint pinned to the shipped engine
// build (compiled-in constants, following the crate's existing exact-pin
// convention in Cargo.toml), the profile the caller requested, and the
// source-snapshot identity read from this checkout's own git HEAD via the
// crate's one existing `git` shell-out (`manifest::git_head`) -- no new
// shell-out site is added anywhere in this crate.
use Path;
use cratemanifest;
use ;
/// The producer name this admission path accepts. Keeps the contract
/// additive and producer-tagged: a later outcome that adds or substitutes a
/// producer format changes this constant (and the token it is compared
/// under), never the admission path itself.
pub const EXPECTED_PRODUCER_NAME: &str = "scout-semantic";
/// The engine-protocol revision this admission path expects. Distinct from
/// [`super::artifact::COMPILER_FACTS_CONTRACT_VERSION`]: this names the
/// engine's own analysis behaviour, the contract names the wire shape.
/// Bump together with a corresponding change on the engine side. "2" means
/// the engine this admission path expects can emit occurrence facts.
pub const EXPECTED_ENGINE_REVISION: &str = "2";
/// The sha256 digest of `tools/scout-semantic/packages.lock.json` as of the
/// engine build this admission path expects. Recompute
/// (`shasum -a 256 tools/scout-semantic/packages.lock.json`) and update this
/// constant whenever that lock file changes.
pub const EXPECTED_DEPENDENCY_FINGERPRINT: &str =
"1b08b298ead60b49666b3bfa8d389386770d87dc150a9b1eced58896652f3d43";
/// The compilation-context envelope version this admission path recognises.
/// A candidate embedding any other version is refused without this module
/// ever parsing the envelope's internal shape.
pub const EXPECTED_CONTEXT_SCHEMA_VERSION: u64 = 1;
/// What one admission call checks a candidate against.
/// Builds the expectations a `compiler-facts run`/`import` admits against,
/// for the checkout at `root` and the profile the caller requested.