js-rigor: greybox fuzzer campaign, config validation, lifecycle positional gates
- fuzzer-mutation-needles.test.js: first greybox-fuzzer campaign (mutation
+ replay-near-failure strategies) hunting cache staleness across config
kind transitions; pins canonical config shapes ({union:{rules}},
{exclusion:[a,b]} with probabilistic P(A)*(1-P(B)) semantics) and a
mirror faithful to the engine's phantom-node no-op rule
- ArbiterConfig.setRelationConfig: clean validation error for non-object
configs (was cryptic internal TypeError under fuzzed args)
- protocol-snapshot-lifecycle.test.js: beforeStep/afterStep positional
gates (virgin state, mirror-engine tuple sync)
- dropped complexity-verification attempt: wall-clock e-process too noisy
at sub-ms operation scale
This commit is contained in:
@@ -9,6 +9,11 @@ export class ArbiterConfig {
|
||||
}
|
||||
|
||||
setRelationConfig(relation, config) {
|
||||
if (config === null || typeof config !== 'object') {
|
||||
throw new Error(
|
||||
`Invalid relation config for ${String(relation)}: expected a config object, got ${config === null ? 'null' : typeof config}`
|
||||
);
|
||||
}
|
||||
const normalized = this._normalizeOwaConfig(config);
|
||||
this.arbiter.relationConfigs.set(relation, normalized);
|
||||
this.arbiter.graphManager.setRelationConfig(relation, normalized);
|
||||
|
||||
Reference in New Issue
Block a user