Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
100a605
test(cr150): add L15a view binding red witness
luisleo526 Oct 18, 2026
2539102
feat(cr150): implement L15a pending bar view bindings
luisleo526 Oct 18, 2026
4e20934
fix(cr150): list L15a kernel sources on separate lines
luisleo526 Oct 18, 2026
ae868d6
docs(cr150): carry all L15a source citations to the new tree
luisleo526 Oct 18, 2026
ddc9c94
test(cr150): keep FX index pins and expect the L15a tail
luisleo526 Oct 18, 2026
545c55a
test: specify CR-150 heap census and unique-id controls
luisleo526 Oct 18, 2026
d84c1d2
test(cr150): add L15b borrowed feed witness
luisleo526 Oct 18, 2026
d61e68b
test: add live CR-150 heap census and lane inventory
luisleo526 Oct 18, 2026
bfa1bff
test(cr150): require eager admission journal retirement with recordin…
luisleo526 Oct 18, 2026
0d8b203
feat(cr150): add borrowed symbol feed export
luisleo526 Oct 18, 2026
731a721
test(cr150-l19h): specify settled-prefix parking
luisleo526 Oct 18, 2026
b8b617e
fix(cr150): repair L15b lab preflight failures
luisleo526 Oct 18, 2026
e194c46
feat(cr150-l19h): retire settled adapter history
luisleo526 Oct 18, 2026
ad7e7ba
test(cr150): correct admission rejection reader inputs for fix round 1
luisleo526 Oct 18, 2026
d4795e7
Merge pf/cr150-p00-contracts into core/cr150-l15b
luisleo526 Oct 18, 2026
06b7729
fix(cr150): refresh merged doc anchor
luisleo526 Oct 18, 2026
168bebb
Merge pf/cr150-p00-contracts into core/cr150-l19h
luisleo526 Oct 18, 2026
51630c1
fix(cr150-l19h): preserve settled cancel outcomes
luisleo526 Oct 18, 2026
3b930bf
docs(cr150-l19h): refresh shifted source anchors
luisleo526 Oct 18, 2026
5dbe6d6
Merge refs/heads/pf/cr150-p00-contracts into core/cr150-l19e
luisleo526 Oct 18, 2026
877c368
Merge pf/cr150-p00-contracts into core/cr150-l15b
luisleo526 Oct 18, 2026
ade37d9
docs(cr150): restore named C ABI history 0d8b203 70ddaa3 4c78f39
luisleo526 Oct 18, 2026
edd92f3
docs(cr150): refresh L16 ADR anchors
luisleo526 Oct 18, 2026
f1c862a
fix(cr150): retire admission events at completed script boundaries
luisleo526 Oct 18, 2026
7ffb832
fix(cr150): preserve recording-off continuation capture cadence
luisleo526 Oct 18, 2026
e616ff4
Merge pf/cr150-p00-contracts into core/cr150-l15b
luisleo526 Oct 18, 2026
8803600
docs(cr150): preserve named C ABI history
luisleo526 Oct 18, 2026
5d609a7
Merge pf/cr150-p00-contracts for CR150-CX round 2
luisleo526 Oct 18, 2026
22b19cb
Merge refs/heads/pf/cr150-p00-contracts for L19E fix round 3
luisleo526 Oct 18, 2026
85b3d81
Merge pf/cr150-p00-contracts into core/cr150-l15b
luisleo526 Oct 18, 2026
a003543
Merge pf/cr150-p00-contracts for CR150-CX round 3
luisleo526 Oct 18, 2026
004a05b
fix(cr150): preserve hash capture boundaries during admission retirement
luisleo526 Oct 18, 2026
03d50cd
Merge pf/cr150-p00-contracts for CR150-CX round 4
luisleo526 Oct 18, 2026
4db535d
docs: refresh adapter boundary anchors
luisleo526 Oct 18, 2026
cc2d00f
docs: refresh native parity anchors
luisleo526 Oct 18, 2026
eb3aef0
docs: refresh refactor progress anchor
luisleo526 Oct 18, 2026
7c4f20c
Merge refs/heads/pf/cr150-p00-contracts for L19E fix round 4
luisleo526 Oct 18, 2026
360a888
Merge pf/cr150-p00-contracts for CR150-CX merge round m6
luisleo526 Oct 18, 2026
fbac324
Merge pf/cr150-p00-contracts into core/cr150-l15b
luisleo526 Oct 19, 2026
6baa158
fix: normalize non-working bracket cancellations
luisleo526 Oct 19, 2026
38914a6
docs: refresh shifted adapter anchors
luisleo526 Oct 19, 2026
ef1073e
Merge branch 'refs/heads/pf/cr150-p00-contracts' into core/cr150-l15b
luisleo526 Oct 19, 2026
862f575
build(cr150): move L15b registration into lane fragment
luisleo526 Oct 19, 2026
680221b
test(cr150): apply CORE-TOP's 09:48 F0a ruling, option (a)
luisleo526 Oct 19, 2026
3fd933b
Merge refs/heads/pf/cr150-p00-contracts; register L19E in cr150.d
luisleo526 Oct 19, 2026
b4bbca0
fix(cr150): re-pin transcript digests under fixture authority 07:49 r…
luisleo526 Oct 19, 2026
fa8af71
Merge branch 'refs/heads/pf/cr150-p00-contracts' into core/cr150-l19h
luisleo526 Oct 19, 2026
49ec745
Merge refs/heads/pf/cr150-p00-contracts (5e167bdd3) into core/cr150-l…
luisleo526 Oct 19, 2026
6851d83
Merge pf/cr150-p00-contracts into core/cr150-l15b
luisleo526 Oct 19, 2026
5b71f2d
Merge pf/cr150-p00-contracts for CR150-CX merge round m10
luisleo526 Oct 19, 2026
4cc8faf
docs(cr150): refresh m11 parity anchors
luisleo526 Oct 19, 2026
5e412f1
docs(cr150): retain valid m11 anchor
luisleo526 Oct 19, 2026
03405b6
docs(cr150): correct on_applied anchor for L19E fix round 6
luisleo526 Oct 19, 2026
3bdc2db
Merge refs/heads/pf/cr150-p00-contracts (abfa69fce) into core/cr150-l…
luisleo526 Oct 19, 2026
145be26
Merge refs/heads/pf/cr150-p00-contracts (abfa69fce) into core/cr150-l…
luisleo526 Oct 19, 2026
2dc35f0
docs: repair current native parity anchors
luisleo526 Oct 19, 2026
6e7811a
Merge lane-l19e (L19e) into core/cr150-batch2: docs resolved once, 19…
luisleo526 Oct 19, 2026
c3c1337
Merge lane-l19h (L19h) into core/cr150-batch2: docs resolved, citatio…
luisleo526 Oct 19, 2026
397063c
Merge lane-l15b (L15b) into core/cr150-batch2: docs resolved, citatio…
luisleo526 Oct 19, 2026
a67b05a
Merge integration 09a8a454d into core/cr150-batch2: docs resolved (15…
luisleo526 Oct 19, 2026
89c3724
Merge integration 39a718b99 into core/cr150-batch2: docs resolved, ci…
luisleo526 Oct 19, 2026
71177fb
Merge integration 4d168c075 (L17a #432) into core/cr150-batch2: docs/…
luisleo526 Oct 19, 2026
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
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ The separate PineForge compiler, [`pineforge-codegen`](https://github.com/pinefo
- **Open runtime.** The engine and native live runner are Apache-2.0. The separately distributed [PineForge compiler](https://github.com/pineforge-4pass/pineforge-codegen-oss/blob/main/LICENSE) is source-available under the PineForge Source License 1.2 from its release 1.3.0 (release 1.2.0 keeps the PineForge Source License 1.1, and releases up to 1.1.0 keep the PolyForm Noncommercial terms they shipped with); personal trading is free, and commercial use requires a separate license; the capital in an account a proprietary-trading firm or funded-trader program provides or allocates, including a challenge, evaluation or simulated account, is investment capital. Public reference strategies, benchmarks and validation tooling are available in their respective repositories; the community-script test set is not redistributed.
- **Fast.** In-process, no interpreter: median **36× faster than PyneCore** on the 200 strategies both engines time (100 corpus probes and 100 held-out private strategies), measured at engine `35db01c8` on 2026-09-29 on an AWS c7a.8xlarge with PyneCore timed as a subprocess, its interpreter start-up included (PineForge runs a median 807k bars/s per strategy over its 201 slots with the bar magnifier on; [method](benchmarks/results/speed.md)). Parameter sweeps re-run a loaded `.so` with new inputs — no recompile, no fork.
- **Deterministic to the bit.** Two runs with the same inputs produce identical trade lists. Same on Linux and macOS.
- **Yours to embed.** 148 `PF_API` declarations across six installed headers — `pineforge.h`'s 94 (74 of the 83 runtime exports, the other nine being declared in `execution_observer.h`, `selected_window.h` and `report_sink.h`, three each, and up to 20 per-strategy functions a generated module defines), `native_c_api.h`'s 43 native-host declarations and `selected_window_plan.h`'s two planner declarations — an ABI that is append-only within a major version from 1.0 on. Call it from C, Python, Rust, Go, Node, Julia — or let an AI agent drive it over MCP.
- **Yours to embed.** 149 `PF_API` declarations across six installed headers — `pineforge.h`'s 95 (75 of the 84 runtime exports, the other nine being declared in `execution_observer.h`, `selected_window.h` and `report_sink.h`, three each, and up to 20 per-strategy functions a generated module defines), `native_c_api.h`'s 43 native-host declarations and `selected_window_plan.h`'s two planner declarations — an ABI that is append-only within a major version from 1.0 on. Call it from C, Python, Rust, Go, Node, Julia — or let an AI agent drive it over MCP.

Recorded outputs and their additional API declarations described here are
part of **1.5.0**.
Expand Down Expand Up @@ -517,13 +517,13 @@ API, the script ABI epoch and the pairing with codegen — is the
[public contract](docs/pages/public-contract.md); what a 0.x user must act on
is in [CHANGELOG.md](CHANGELOG.md).

The counts below include recorded outputs and describe the released 1.5.0 API.
The counts below describe the current API, including recorded outputs and the report sink; recorded outputs are not part of 1.4.0.

A newly generated strategy `.so` exposes 99 compiled-strategy `PF_API` declarations
(83 runtime implementations plus sixteen generated exports) plus 43 native-host
declarations: 142 `PF_API` exports in total; `use_bar_magnifier = true` adds
A newly generated strategy `.so` exposes 100 compiled-strategy `PF_API` declarations
(84 runtime implementations plus sixteen generated exports) plus 43 native-host
declarations: 143 `PF_API` exports in total; `use_bar_magnifier = true` adds
`strategy_declares_bar_magnifier` and a module that records [outputs](docs/outputs.md) its
three outputs exports, bringing the inventories to at most 103 and 146. Older modules lack the six opt-in
three outputs exports, bringing the inventories to at most 104 and 147. Older modules lack the six opt-in
[checked-settings exports](docs/checked-settings.md). Older modules can also lack
the two opt-in [execution-capability exports](docs/strategy-capabilities.md).
In an optimized build `nm -gU` also shows libc++'s
Expand All @@ -548,7 +548,7 @@ inventories are pinned by `scripts/check_c_abi_runtime.py`:
| `strategy_set_chart_timezone` / `strategy_set_syminfo_timezone` / `strategy_set_syminfo_session` | Chart and exchange time |
| `strategy_set_syminfo_mintick` / `_pointvalue` / `_metadata` / `_type` / `_string` | Symbol tick size, point value, numeric metadata, instrument class, string members |
| `strategy_set_native_security_feed` / `strategy_set_aux_security_feed` | Feed `request.security()` from a native higher-timeframe series / an auxiliary bar-aligned feed |
| `strategy_set_symbol_feed` / `_feed_column` / `strategy_set_symbol_facts` / `strategy_set_recorded_series` | Another symbol's data for `request.security()` of that symbol: its own bars (each with its close) and named columns, its `syminfo.*` facts, and recorded request values per chart bar (each behind its own `PINEFORGE_HAS_…_V1` probe; historical runs only) |
| `strategy_set_symbol_feed` / `strategy_set_symbol_feed_borrowed_v1` / `_feed_column` / `strategy_set_symbol_facts` / `strategy_set_recorded_series` | Another symbol's data for `request.security()` of that symbol: its own copied or borrowed bars (each with its close) and named columns, its `syminfo.*` facts, and recorded request values per chart bar (each behind its own `PINEFORGE_HAS_…_V1` probe; historical runs only) |
| `strategy_set_account_currency_fx_series` | Effective-time quote-to-account FX |
| `strategy_get_last_error` | The latest runtime error |
| `strategy_get_last_error_code` / `strategy_get_last_error_args` | The latest failure's stable code from the closed [run-failure vocabulary](docs/pages/run-failure-codes.md) (`""` when the run succeeded) and its typed arguments as canonical JSON; behind `PINEFORGE_HAS_RUN_FAILURE_CODES_V1` |
Expand Down
Loading
Loading