When Two Governance Layers Declare Each Other
This page explains one specific and important case: two governance layers that each publish a GLM-BD manifest declaring composability with the other. This is materially more informative than a single declaration — and it still establishes nothing about runtime behaviour. Both halves of that sentence matter.
- Distinct layer types
layer_type - Mutual type composability
composable_with_types - Mutual manifest reference
composable_with_manifests - No forbidden-type conflict
forbidden_interpretations - Distinct timing positions
timing_axis.position - Same schema version
schema_version
It does not observe runtime behaviour.
1. One declaration versus two
A GLM-BD manifest published by one governance layer describes how that layer sees its own boundary: its layer_type, its position on the timing axis, what it claims (authoritative_layer_claim), what it explicitly does not claim (explicit_non_claims), how consumers must not interpret it (forbidden_interpretations), and which layer types and manifests it declares itself composable with (composition).
When that manifest lists another layer under composable_with_types or composable_with_manifests, the declaration is unilateral. It tells you how Layer A describes its composability with Layer B. It tells you nothing about how Layer B describes the same thing — or whether Layer B describes it at all.
A reciprocal declaration exists when Layer B independently publishes, at its own domain, a manifest that declares composability with Layer A in return.
2. What reciprocal declarations add
GLM-BD still does not establish that the two layers interoperate. What changes is the amount and structure of information available for independent assessment.
A third party can now retrieve two declarations, each published by a different party at a different domain, and compare them — instead of relying on one system's description, an architecture diagram, or a marketing statement.
The comparison can ask, for example:
- Do both manifests list each other's
layer_type(and, where URLs are provided, each other's manifest) as composable? - Are the declared timing positions and boundary descriptions coherent with each other?
- Are the respective claims and explicit non-claims compatible?
- Does either manifest list the other's layer type among its
forbidden_interpretations? - Do the
explicit_non_claimsof one side exclude something the other side appears to rely on? - Are both manifests on the same
schema_version, and are the referenced manifests current?
If the declarations align, that alignment is useful information. If they conflict, the conflict is equally useful — it exposes a boundary disagreement that would otherwise remain implicit.
3. What they still do not prove
A reciprocal declaration is evidence about declarations. It is not evidence about behaviour. Two mutually declared manifests do not prove:
- that any specific execution succeeded, or that the composed systems behaved as declared in a specific event;
- that authority was transferred, that execution was authorized, or that authority remained valid after binding (
authority_transfer,execution_authorization,post_bind_authority_validationremain forbidden interpretations); - that semantics are preserved after composition, or that no implementation defect exists;
- that either party has read, reviewed or acknowledged the other's manifest — GLM-BD has no acknowledgement, signature or handshake field;
- that a bilateral agreement, a mutual certification, or any joint responsibility exists;
- future compatibility: a
composable_with_manifestsentry is a URL, not a pinnedmanifest_versionor digest, so either manifest can change after the comparison.
Reciprocal declaration = independently comparable evidence about the composability each side declares.
4. What a third party can compare
Because each manifest is published at its own /.well-known/governance-layer-manifest.json, attribution follows publication: the declaration at Layer A's domain is Layer A's, the declaration at Layer B's domain is Layer B's. That is the only attribution GLM-BD provides — there is no cryptographic signature and no counter-signature by the other side.
An integrator, auditor, reviewer or customer can therefore evaluate the two declarations independently, at any time, and repeat the evaluation whenever either manifest changes.
5. Positive alignment
If the two declarations are coherent under the Analyzer's comparison rules, the result is useful evidence of declared alignment within the scope those declarations represent.
6. Negative alignment
If the declarations do not fully align — for example, one side lists the other's layer type as forbidden, only one side declares the other, or both occupy the same timing position — the result is not a failure of GLM-BD. Exposing a disagreement or incomplete alignment that would otherwise stay hidden is part of the value of making boundaries machine-readable.
A negative result does not establish that the systems can never interoperate. It establishes that the declarations, as currently published, do not provide a coherent basis for that composition.
7. What the GLM-BD Analyzer actually establishes
The Analyzer (Compatibility Match tab) compares each pair of manifests on six declared signals: whether the layer types differ; whether each lists the other's layer_type under composable_with_types; whether each references the other's manifest URL under composable_with_manifests (only when both URLs are provided; the match is by exact URL or hostname); whether either manifest's layer_type appears in the other's forbidden_interpretations; whether the timing positions differ; whether the schema_version is the same.
It reports each pair as declared compatible, partially declared, or not declared compatible, with the individual signals visible in the detail panel.
It does not compare the wording of claims and non-claims, controlling_test, validity windows, manifest_version or digests, and it does not observe any runtime. Everything runs in the browser on the pasted text. A "declared compatible" result is a statement about the two declarations — nothing more.
8. Forbidden interpretations
The following are examples of interpretations that may be explicitly excluded by GLM-BD declarations and that must not be inferred from reciprocal listing alone: execution_authorization, authority_transfer, post_bind_authority_validation, interoperability_certification, and implied_composability. A manifest may declare additional forbidden interpretations. Mutual listing never lifts a limit declared by either side.
The Organization Index is unaffected by any of this. It discovers layers; it does not compose them.
9. Practical example (synthetic)
Layer A
layer_type: boundary timing_axis.position: at-bind composable_with_types: ["closure"] composable_with_manifests: ["https://layer-b.example/.well-known/governance-layer-manifest.json"] forbidden_interpretations: ["execution_authorization", "authority_transfer"]
Layer B
layer_type: closure timing_axis.position: post-bind composable_with_types: ["boundary"] composable_with_manifests: ["https://layer-a.example/.well-known/governance-layer-manifest.json"] forbidden_interpretations: ["authority_transfer", "post_bind_authority_validation"]
Fed to the Analyzer, this pair yields: distinct types · mutual type composability · mutual manifest reference · no forbidden-type conflict · distinct timing positions · same schema version → Declared compatible.