Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
- name: Run tests
run: python -m pytest -q
- name: Validate example signal
run: python scripts/validate_latest_signal.py examples/latest_signal.example.json
run: python scripts/validate_latest_signal.py examples/latest_signal.example.json --allow-expired
- name: Run example overlay replay
run: python scripts/backtest_signal_overlay.py --prices examples/price_history.example.csv --signals examples/signal_history --symbol QQQ
- name: Run example price extraction
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/theme_momentum_snapshot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ jobs:
ARGS+=(--strict-downloads)
fi
python scripts/build_theme_momentum_snapshot.py "${ARGS[@]}" | tee /tmp/theme_momentum_summary.json
python scripts/validate_theme_momentum_snapshot.py data/output/theme_momentum_snapshot.json

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Preserve historical as-of workflow dispatches

When workflow_dispatch supplies a historical as_of more than 84 days before the run date, the builder stamps expires_at from that cutoff, but this validation call provides neither --reference-date nor --allow-expired; scripts/validate_theme_momentum_snapshot.py therefore defaults freshness to today's UTC date and fails before upload/commit. For replaying a saved cutoff such as 2026-01-02 on 2026-07-13, pass the requested cutoff as the reference date or allow expired snapshots for historical dispatches.

Useful? React with 👍 / 👎.

{
echo "## Theme momentum snapshot"
echo ""
Expand Down
6 changes: 4 additions & 2 deletions data/output/latest_signal.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
{
"schema_version": "1",
"schema_version": "2",
"model_version": "ai-shadow-context-v1",
"scoring_version": "ai-shadow-context-rules-v1",
"as_of": "2026-06-25",
"generated_at": "2026-06-27T08:22:28.245044Z",
"mode": "shadow",
Expand Down Expand Up @@ -356,4 +358,4 @@
"rationale": "Industrial automation remains a background context rather than a current positive signal."
}
}
}
}
8 changes: 4 additions & 4 deletions data/output/latest_signal.manifest.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"artifact": "data/output/latest_signal.json",
"artifact_sha256": "39368aa3eae5da168665fde58edbe17bbef1c70fa4070b58051c928aaefc0b1a",
"as_of": "2026-05-31",
"generated_at": "2026-05-31T10:52:51Z",
"history_artifact": "data/output/signal_history/2026-05-31.json",
"artifact_sha256": "5fb8891cb793663636b65a70c4bb96c889533ded2a94cef2f7ae6e0c6fa482eb",
"as_of": "2026-06-25",
"generated_at": "2026-06-27T08:22:28.245044Z",
"history_artifact": "data/output/signal_history/2026-06-25.json",
Comment on lines +4 to +6

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Fix validation provenance for the updated signal

This manifest now points at the 2026-06-25 latest/history artifacts, but the unchanged validation block still records status: passed for commands that no longer pass with these artifacts: the default latest-signal validation rejects the committed expired signal, and the history command is also expired under the new freshness check. Consumers that trust the manifest provenance will treat an unvalidated artifact as validated; update the recorded commands/status to reflect the actual validation mode and outcome.

Useful? React with 👍 / 👎.

"mode": "shadow",
"policy": {
"downstream_use": "Manifest only records provenance for a shadow research artifact; it does not authorize execution.",
Expand Down
4 changes: 3 additions & 1 deletion data/output/signal_history/2026-05-28.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
{
"schema_version": "1",
"schema_version": "2",
"model_version": "shadow-signal-example-v1",
"scoring_version": "shadow-signal-example-rules-v1",
"as_of": "2026-05-28",
"generated_at": "2026-05-28T14:38:47.474891Z",
"mode": "shadow",
Expand Down
4 changes: 3 additions & 1 deletion data/output/signal_history/2026-05-31.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,9 @@
"requires_fundamental_and_valuation_review",
"no_account_level_advice"
],
"schema_version": "1",
"schema_version": "2",
"model_version": "shadow-signal-example-v1",
"scoring_version": "shadow-signal-example-rules-v1",
"symbol_bias": {
"AMD": {
"bias": "watch",
Expand Down
Loading
Loading