{"as_of":"2026-09-01","last_updated":"2026-09-01","data_type":"methodology_and_calculation_provenance_manifest","is_live":false,"methodology_version":"ha-methodology-1.0.0","calculation_version":"ha-calc-3239ffdcdb38936e87dc","source":"https://hesperatlas.com/api/provenance","source_url":"https://hesperatlas.com/api/provenance","citation":{"url":"https://hesperatlas.com/api/provenance","as_of":"2026-09-01","data_type":"methodology_and_calculation_provenance_manifest","methodology_version":"ha-methodology-1.0.0","calculation_version":"ha-calc-3239ffdcdb38936e87dc"},"provenance":{"origin":"Hesper Atlas version and source-component manifest","calculation":"SHA-256 hashes over the methodology source template and calculation source components.","update_cadence":"Methodology bumps are deliberate; calculation versions change with component bytes.","raw_price_history_included":false,"methodology_version_status":"versioned","methodology_version":"ha-methodology-1.0.0","calculation_version":"ha-calc-3239ffdcdb38936e87dc","provenance_manifest":"https://hesperatlas.com/api/provenance"},"caveats":["These hashes are first-party integrity evidence. No external signer or independent timestamp authority is configured, so they must not be described as third-party proof."],"manifest":{"schema":"ha-provenance-1","methodology_version":"ha-methodology-1.0.0","calculation_version":"ha-calc-3239ffdcdb38936e87dc","evaluation_calculation_version":"ha-eval-calc-b13219b340f5ab0675d9","effective_from":"2026-09-01","methodology_document":"https://hesperatlas.com/methodology","methodology_source_template_sha256":"cfc8c676aaf9728681cd74443565d69bd5a9c9c958ac4c5f253537c52d4b3393","provenance_implementation_sha256":"31af62b8dcbd28acdc495f359f51c36023ccdcdfd93da8ca9ddd07cf392a2504","engine_components":[{"path":"backend/provenance.py","sha256":"31af62b8dcbd28acdc495f359f51c36023ccdcdfd93da8ca9ddd07cf392a2504"},{"path":"backend/data.py","sha256":"df934002676eda81e91a7d437692168ca56caa7696b97a197fcb580dc65286b6"},{"path":"backend/earnings.py","sha256":"17e959eef1f4565062107c8c2a0817e6271251c22422f714aa22508f53b9530a"},{"path":"backend/universe.py","sha256":"2d6124333cb29e8ddbdcf44050bde973d8d26d4be77344834f92a9ef6fee7588"},{"path":"backend/indicator.py","sha256":"5b3b9f219e23e9b4a5b80c1f126487e0e7667102d805497c4384d22fa1c0cc8d"},{"path":"backend/backtest.py","sha256":"148c280ec1d8d8364d08518850651afbdc616415379b46f50d8df379fe186fe6"},{"path":"backend/assets.py","sha256":"98684073177825b6c1c5f48fb6acd6e12062aa91b91fd79e7d1ba15326ec87ad"},{"path":"backend/overlays.py","sha256":"875df27e273b439db341cbc40d04e897403d5ff070ebbb3f73bfb5c7c5b358e4"},{"path":"backend/pullbacks.py","sha256":"98c14a1e143a41a68869919818d66f00dbad6f16ad6902ae26bcdfc23c74322b"},{"path":"backend/entrywindow.py","sha256":"f45c90b649e09ce47020e1916a2b40d0b67f41c7654d45b0b5331ac860d631a5"},{"path":"backend/fundamentals.py","sha256":"dfec3942aa5360a058d00015e34ef2ffd7adeb40d983494db47bbec1a3cbc943"},{"path":"backend/macro.py","sha256":"5fb6df3b7368f1222524dc8ab1597634e8f84ec399e6477fd6952b610d3a48e1"},{"path":"backend/outlook.py","sha256":"88f4cccf39c04764e28d42903caf5aafa8bb6e77c973a0d9c3d86b95e3f6e0bf"},{"path":"backend/scan.py","sha256":"d7e9650094b0214c5dc05858048434f2eef684811ae6d78c98f271b3578d721d"},{"path":"backend/track.py","sha256":"1ccc94d72fab2572c4932f2e9462e7dfa425dda48401940a7f4e13ae63e7735c"},{"path":"backend/cov.py","sha256":"8cea77a03f9ee41ab486e46aa40bdbd5b806917ca8075a6651693e5c738fc828"},{"path":"backend/portfolio.py","sha256":"47e3216e6558279987f1e36ff24fdc08e04a1d3048a815c07448db318e3d14d0"},{"path":"backend/evidence.py","sha256":"db7c2761d03d4864cb4387179593e2a892190b069ef67c947f8ec7e1a685098f"},{"path":"backend/mcp_server.py","sha256":"65e50362237937985fd83b0001eccc10df82de7ac1ee7ec4a30ced56e9e64338"},{"path":"backend/app.py","sha256":"e72de9f6a7b6d289f540fb2796cf07228b48f54a3e23b4842d298639524eff76"}],"evaluation_components":[{"path":"scripts/walk_forward.py","sha256":"154ce5fbf152c64e0024982bb4658786072a8ecadefa6b6daba91c9e94ae9c52"},{"path":"scripts/publish_walk_forward_evidence.py","sha256":"52f99f2b22f7242aa0fc73fa630015328e6be8897013da3b758ba2dddd4628ff"},{"path":"scripts/optimize_per_name.py","sha256":"874143c06a95aba4d0f2a10a2c4e4a360efdbbad1d9c9795fc9598a01103f0f0"},{"path":"scripts/lab.py","sha256":"d4173877c5c0e24487a33d07072e031c23a815674f671812889fa45bf00d20c8"},{"path":"scripts/oos_eval.py","sha256":"dca76147a6e781048c5f1dd7bd89af548f7e08ee831252ef1ccdff95322f27ca"},{"path":"scripts/per_name_oos.py","sha256":"a228041d4097a1a482f1141344988fa9b6c8253382288f252135dfdcf9a16b6d"},{"path":"backend/provenance.py","sha256":"31af62b8dcbd28acdc495f359f51c36023ccdcdfd93da8ca9ddd07cf392a2504"},{"path":"backend/data.py","sha256":"df934002676eda81e91a7d437692168ca56caa7696b97a197fcb580dc65286b6"},{"path":"backend/earnings.py","sha256":"17e959eef1f4565062107c8c2a0817e6271251c22422f714aa22508f53b9530a"},{"path":"backend/universe.py","sha256":"2d6124333cb29e8ddbdcf44050bde973d8d26d4be77344834f92a9ef6fee7588"},{"path":"backend/indicator.py","sha256":"5b3b9f219e23e9b4a5b80c1f126487e0e7667102d805497c4384d22fa1c0cc8d"},{"path":"backend/backtest.py","sha256":"148c280ec1d8d8364d08518850651afbdc616415379b46f50d8df379fe186fe6"},{"path":"backend/assets.py","sha256":"98684073177825b6c1c5f48fb6acd6e12062aa91b91fd79e7d1ba15326ec87ad"},{"path":"backend/overlays.py","sha256":"875df27e273b439db341cbc40d04e897403d5ff070ebbb3f73bfb5c7c5b358e4"},{"path":"backend/pullbacks.py","sha256":"98c14a1e143a41a68869919818d66f00dbad6f16ad6902ae26bcdfc23c74322b"},{"path":"backend/entrywindow.py","sha256":"f45c90b649e09ce47020e1916a2b40d0b67f41c7654d45b0b5331ac860d631a5"},{"path":"backend/fundamentals.py","sha256":"dfec3942aa5360a058d00015e34ef2ffd7adeb40d983494db47bbec1a3cbc943"},{"path":"backend/macro.py","sha256":"5fb6df3b7368f1222524dc8ab1597634e8f84ec399e6477fd6952b610d3a48e1"},{"path":"backend/outlook.py","sha256":"88f4cccf39c04764e28d42903caf5aafa8bb6e77c973a0d9c3d86b95e3f6e0bf"},{"path":"backend/scan.py","sha256":"d7e9650094b0214c5dc05858048434f2eef684811ae6d78c98f271b3578d721d"},{"path":"backend/track.py","sha256":"1ccc94d72fab2572c4932f2e9462e7dfa425dda48401940a7f4e13ae63e7735c"},{"path":"backend/cov.py","sha256":"8cea77a03f9ee41ab486e46aa40bdbd5b806917ca8075a6651693e5c738fc828"},{"path":"backend/portfolio.py","sha256":"47e3216e6558279987f1e36ff24fdc08e04a1d3048a815c07448db318e3d14d0"},{"path":"backend/evidence.py","sha256":"db7c2761d03d4864cb4387179593e2a892190b069ef67c947f8ec7e1a685098f"},{"path":"backend/mcp_server.py","sha256":"65e50362237937985fd83b0001eccc10df82de7ac1ee7ec4a30ced56e9e64338"},{"path":"backend/app.py","sha256":"e72de9f6a7b6d289f540fb2796cf07228b48f54a3e23b4842d298639524eff76"}],"source_revision":"ffde441d1f15ddacc581ff56f8883a54351ba1c5","source_revision_status":"available","canonicalization":"UTF-8 JSON with object keys sorted, compact separators, Unicode preserved and non-finite numbers forbidden.","version_policy":{"methodology":"Bumped when a published decision rule, execution assumption or interpretation contract changes.","calculation":"Content-derived from the engine and execution source files; changes automatically when those bytes change."},"calculation_version_scope":"Content fingerprint over the complete published decision bundle: market-data and earnings readers, routing and signal engines, scan/replay/portfolio calculations, evidence normalization and the MCP projection layer.","evaluation_calculation_version_scope":"The published decision bundle plus the walk-forward, optimizer and evaluation pipeline used to produce validation artifacts.","methodology_history":[{"version":"ha-methodology-1.0.0","effective_from":"2026-09-01","status":"current","change_summary":"Initial public methodology-versioning baseline. Earlier artifacts retain explicit legacy identifiers rather than a retroactively assigned version."}],"rendering_note":"The methodology hash commits the repository HTML template. The served page injects the canonical site URL and cache-busted asset URLs, so its response bytes are not claimed to equal this hash.","attestation_capability":{"integrity":"sha256_content_hash_and_forward_hash_chain_v2","signature_status":"not_configured","external_timestamp_status":"not_configured","limitation":"These hashes are first-party integrity evidence. No external signer or independent timestamp authority is configured, so they must not be described as third-party proof."},"manifest_id":"hsp_method_20260901_6a94c07818c77a5d","manifest_hash":"sha256:6a94c07818c77a5d08b67718cfcdf9067efae879a0f39d05722a1438ebd34656"}}