▢→AgentMarkv0.2.0

5 · Knowledge Layer: Claims, Constraints, Decisions

This is the crux of AgentMark. Naive notes mix three different categories of statement: "Claude Code cannot be used because of usage rules" (constraint); "GLM is cheapest" (claim); "Claude Code is best for MCP" (claim). These are not the same thing and must be modeled differently. The three first-class knowledge types are constraint, claim, and decision — plus the supporting concepts of assertion, confidence, and source.

Constraint — something that limits the design. Uses RFC 2119 requirement levels (MUST, MUST_NOT, SHOULD, SHOULD_NOT, MAY):

constraint K-001:
  title: Claude Code backend usage restriction
  level: MUST_NOT
  applies_to: [harness#claude_code: Claude Code]
  action: use_as_backend_harness
  scope: Hermes
  basis: usage_rules
  source: user_interpretation
  confidence: medium
  as_of: 2026-06-02
  review_by: 2026-06-16

Claim — something believed true at a point in time. Carries kind, subjects, metric, scope, evidence, confidence, volatility, and review dates. It is the unit that expires.

claim C-001:
  text: Claude Code is strongest among tested harnesses for MCP-heavy coding workflow
  kind: comparative
  subjects: [Claude Code, Codex, GLM, Qwen Coder]
  metric: mcp_connection_reliability
  scope: Hermes coding-agent tests
  evidence: [test#MCP-SMOKE-2026-06]
  confidence: medium
  volatility: high
  as_of: 2026-06-02
  review_by: 2026-06-16

Claim kinds seen in practice: comparative, substitution, cost, capability, provider_market.

Decision — what you chose, given constraints and claims. Borrows the spirit of ADRs (context + consequences) but links directly to the claims and constraints that justify it — and to the conditions that would invalidate it.

decision D-001:
  title: Use Codex as Hermes cost-optimized coding harness
  status: accepted
  chosen: [harness#codex: Codex]
  alternatives: [Claude Code, GLM, Opus, Qwen Coder]
  drivers: [cost, coding_quality, backend_harness_allowed]
  constrained_by: [K-001]
  supported_by: [C-002, C-003]
  consequences:
    - weaker MCP ergonomics than Claude Code
    - better backend suitability under current constraints
  as_of: 2026-06-02
  review_by: 2026-06-16

Assertion, confidence, and sources. Never treat all claims equally. Every assertion carries a confidence level and its sources.

assert: Qwen weaker MCP compatibility
  confidence: medium
  sources: [internal testing]

assert: MCP introduced by Anthropic
  confidence: very_high
  sources: [Anthropic MCP announcement]

Confidence levels in use: low, medium, high, very_high.

Why the split matters: Separating the three lets the document answer questions a flat diagram cannot: Which decisions rest on which claims? Which claims are about to expire? If a constraint flips, which decisions fall? That dependency graph is what makes AgentMark a living contract rather than a snapshot.