Skip to content

Add versioned rule configuration#5

Merged
sparklkt merged 1 commit into
mainfrom
v0.6-rule-config-versioning
May 12, 2026
Merged

Add versioned rule configuration#5
sparklkt merged 1 commit into
mainfrom
v0.6-rule-config-versioning

Conversation

@sparklkt

Copy link
Copy Markdown
Owner

What changed

This PR introduces versioned rule configuration for offline experiments.

  • adds RuleConfig and a config loader/hash utility
  • adds configs/default.json as the default rule configuration
  • moves configurable rule inputs into config-backed fields, including risk keywords, attention thresholds, value field defaults, family mapping, collision lane rules, and pruning thresholds
  • threads the loaded config through attention assessment, disturbance scoring, factor generation, collision routing, pruning, and pipeline initialization
  • records config_version and config_hash in growth logs and surfaces config metadata in CLI output
  • adds tests for default config loading, custom config behavior changes, invalid config failure, and growth-log config persistence

Why it changed

The prototype had accumulated enough hard-coded thresholds and mappings that controlled experimentation was becoming awkward. This PR introduces a versioned config layer so the project can evolve through explicit, reviewable rule changes instead of silent code-only tuning.

Validation

  • .venv/bin/pytest -> 24 passed in 0.13s

Safety boundary

  • remains offline and rule-based
  • no LLM integration
  • no network participation in reasoning
  • no real external actions
  • no bypass of human judgment
  • configuration can tune heuristics, but does not grant autonomous external execution or remove high-risk human judgment requirements

@sparklkt
sparklkt merged commit 20643e6 into main May 12, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant