Skip to content

docs(config): banner on config.yaml.example + delete stale flow-doctor.yaml.example#225

Merged
cipher813 merged 1 commit into
mainfrom
chore/yaml-example-banners
May 13, 2026
Merged

docs(config): banner on config.yaml.example + delete stale flow-doctor.yaml.example#225
cipher813 merged 1 commit into
mainfrom
chore/yaml-example-banners

Conversation

@cipher813
Copy link
Copy Markdown
Owner

@cipher813 cipher813 commented May 13, 2026

Summary

Two related cleanups for .yaml.example hygiene in this repo:

  1. config.yaml.example — adds a descriptive-only banner warning that edits here have ZERO runtime effect. Live config is alpha-engine-config/data/config.yaml. Standard cross-repo pattern (public schema docs in this repo + private live config in alpha-engine-config).

  2. flow-doctor.yaml.example — DELETED. flow-doctor.yaml is committed (un-gitignored) in all 6 alpha-engine module repos since the 2026-05-01 FLOW_DOCTOR_* env-var refactor that moved credentials to env vars; the live yaml schema-documents itself. alpha-engine-data was the only module still carrying a .example template — the other 5 already cleaned theirs up. Aligns this repo with the other 5.

Part of a multi-repo banner rollout (alpha-engine #176, alpha-engine-backtester #202, alpha-engine-research #168, alpha-engine-predictor #151, alpha-engine-dashboard #79).

Test plan

  • config.yaml.example still parses as YAML
  • No code or script references flow-doctor.yaml.example (only a test docstring comment which is historical context — safe to leave)
  • No runtime behaviour change

🤖 Generated with Claude Code

config.yaml.example: live config is alpha-engine-config/data/config.yaml.
flow-doctor.yaml.example: live config is flow-doctor.yaml in repo root
(same dir; un-gitignored since the 2026-05-01 secrets-via-env refactor).

Both banners warn that edits to .example files affect only fresh-clone
bootstrap + public-repo schema documentation, ZERO runtime effect.
Motivated by a recurring lapse pattern (Claude editing .example files
thinking they reach production).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@cipher813 cipher813 merged commit 5130722 into main May 13, 2026
1 check passed
@cipher813 cipher813 deleted the chore/yaml-example-banners branch May 13, 2026 14:54
@cipher813 cipher813 changed the title docs(config): add descriptive-only banners to .yaml.example files docs(config): banner on config.yaml.example + delete stale flow-doctor.yaml.example May 13, 2026
cipher813 added a commit that referenced this pull request May 18, 2026
…ht + EvalJudge/Rationale/Replay/CF dry_run_llm) (#263)

Closes the keystone gap: the 5 documented shell-run skip-exceptions are
flipped skip→dry. Under shell_run EVERY substantive workload now boots +
runs dry; ZERO skip-exceptions remain. All prerequisite dry flags were
already MERGED on origin/main of their repos.

Per-state mechanism:

| State                       | Type   | Mechanism (under shell_run)                          |
|-----------------------------|--------|------------------------------------------------------|
| DriftDetection              | spot   | commands.$ States.Format($.preflight_args) → ` --preflight-only` (data #261) |
| EvalJudgeSubmitFirstSaturday| Lambda | Payload "dry_run_llm.$": "$.research_dry" (research #202) |
| EvalJudgeSubmitWeekly       | Lambda | Payload "dry_run_llm.$": "$.research_dry" (research #202) |
| EvalJudgePoll               | Lambda | Payload "dry_run_llm.$": "$.research_dry" (research #202) |
| EvalJudgeProcess            | Lambda | Payload "dry_run_llm.$": "$.research_dry" (research #202) |
| RationaleClustering         | Lambda | Payload "dry_run_llm.$": "$.research_dry" (research #202) |
| ReplayConcordance           | Lambda | Payload "dry_run_llm.$": "$.research_dry" (backtester #225) |
| Counterfactual              | Lambda | Payload "dry_run_llm.$": "$.research_dry" (backtester #225) |

Exact canonical dry var: $.research_dry. It is THE canonical shell-run
LLM-dry signal — InitializeInput seeds it false on every run (so the
absent path / real Sat 02:00 PT firing is unchanged); ApplyShellRunDefaults
already sets it true under shell_run (it backed Research from the
keystone). No new var invented — research #202 / backtester #225 PR bodies
specify dry_run_llm, and reusing $.research_dry keeps the absent-path
guarantee automatic (no extra seeding needed; the seed already exists).

Changes:
- ApplyShellRunDefaults: removed skip_drift_detection / skip_eval_judge /
  skip_rationale_clustering / skip_replay_concordance / skip_counterfactual
  from the force-set JsonMerge blob. It now force-sets ZERO skip_*.
  Per-flag user overrides still win (merge order unchanged). The
  Choice-gated CheckSkip<State> gates are LEFT INTACT (still valid for
  targeted operator skips — verified by test_skip_gates_still_intact).
- DriftDetection: literal `commands` array → `commands.$` States.Array
  whose final entry is States.Format('bash infrastructure/
  spot_drift_detection.sh{} 2>&1 | tee /var/log/drift-detection.log',
  $.preflight_args). {} sits immediately after the script token with no
  literal space; preflight_args carries its leading space inside the var,
  so preflight_args="" reproduces the origin/main command char-for-char
  and " --preflight-only" yields exactly one separating space.
- 7 eval Lambda Payloads: added "dry_run_llm.$": "$.research_dry".
  EvalRollingMean (alpha-engine-research-eval-rolling-mean) was NOT touched
  — it has no skip gate, was never a keystone exception, and is a pure
  historical-metric reader (out of scope).

Byte-identical proof approach:
- shell_run absent ⇒ CheckShellRun.Default = CheckSkipMorningEnrich
  (unchanged); InitializeInput seeds preflight_args="", research_dry=false.
  Every spot States.Format resolves char-for-char to the frozen
  origin/main literal; every eval Lambda dry_run_llm.$ resolves to false
  (handlers default it false ⇒ behaviourally identical to pre-rewire).
- The frozen baseline fixture tests/fixtures/sf_prekeystone_spot_commands
  .json now INCLUDES DriftDetection's pre-rewire origin/main literal
  command (regenerated via the established generator at preflight_args="";
  the existing 7 entries are unchanged). The byte-identical test asserts
  DriftDetection's resolved command at preflight_args="" equals that
  frozen baseline and carries --preflight-only (single space) under
  shell_run.
- CI-safe: tests read only the committed fixture (no `git show
  origin/main` shell-out — that was the #260 CI failure).

Tests:
- _SPOT_STATES grew to 8 (added DriftDetection); _DRY_LAMBDA_STATES grew
  to 11 (added the 7 eval states); _KEYSTONE_SKIP_EXCEPTIONS = empty set.
- test_shell_defaults_force_set_ZERO_skip_exceptions asserts the blob
  force-sets no skip_* and none of the 16 workload skips (incl. the 5
  ex-exceptions) appear.
- TestHappyPathTraversal: under shell_run nothing is skipped (skipped ==
  set()); DriftDetection is VISITED (runs dry), not jumped past.
- Module + class docstrings updated to the rewire semantics.

JSON valid (58 top-level states, 91 incl. parallel branches). Full
alpha-engine-data suite: 1351 passed, 1 skipped, 0 failed.

Zero skip-exceptions remain — every substantive task runs dry under
shell_run (spots → --preflight-only, Lambdas → dry_run_llm).

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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