Skip to content

Correct two changelog entries and say "work item" in the P8 row - #843

Merged
luisleo526 merged 4 commits into
mainfrom
docs/1.12.0-changelog-corrections
Nov 12, 2026
Merged

luisleo526 merged 4 commits into
mainfrom
docs/1.12.0-changelog-corrections

Conversation

@luisleo526

@luisleo526 luisleo526 commented Nov 12, 2026 •

Copy link
Copy Markdown
Collaborator

Docs-only change: two changelog entries and one table cell.

What changes

  • CHANGELOG.md, Unreleased:
    • The entry on timezone names said that a zone the engine does not accept now raises pine_timezone_error instead of silently reading UTC. That holds for the engine's own calendar functions.
    • Of the code that the transpiler generates, only timestamp() still reads a zone that the host cannot load as UTC, without an error: with a zone argument, and without one on a symbol whose zone is not UTC. Measured on the release pair, the date and time field reads stop with pine_timezone_error for such a zone. The entry now says so, and that this is fixed in a later release.
    • The entry on invalid --syminfo values said they now produce typed refusals but named neither refusal. It now names them as docker/run_json.py raises them: an invalid mintick is refused as symbol_feeds_refused with reason syminfo_mintick_invalid, and an invalid point value uses the existing symbol metadata error, symbol_metadata_rejected with field point_value. The entry keeps its line count.
  • docs/design/native-feature-parity.md, row P8:
    • The row said its open questions are verified "inside the lane that touches each", using "lane" for a unit of work.
    • The rest of the page keeps "lane" for its design sense (the Lane column and the kernel lanes), so this row now says "work item".

Nothing else changes.

Squash commit message

Correct two changelog entries and say "work item" in the P8 row

The unreleased changelog said that a timezone name the engine does not
accept now raises pine_timezone_error instead of silently reading UTC.
That holds for the engine's own calendar functions. Of the code that the
transpiler generates, only timestamp() still reads a zone that the host
cannot load as UTC, without an error (with a zone argument, and without
one on a symbol whose zone is not UTC); the entry now says so, and that
this is fixed in a later release.

The entry on invalid --syminfo values said they now produce typed
refusals but named neither refusal. It now says that an invalid mintick
is refused as symbol_feeds_refused with reason syminfo_mintick_invalid,
and that an invalid point value uses the existing symbol metadata error,
symbol_metadata_rejected with field point_value, as docker/run_json.py
raises them.

The P8 row of the native feature parity table said its open questions
are verified "inside the lane that touches each", using "lane" for a
unit of work; the rest of the page keeps "lane" for its design sense,
so this row now says "work item".

Documentation sentences this change removes or rewrites:
- CHANGELOG.md, Unreleased: "A timezone name written in a script that
  the engine does not accept now raises `pine_timezone_error` with the
  function and zone instead of silently reading UTC." now reads "A
  timezone name written in a script that the engine's own calendar
  functions do not accept now raises `pine_timezone_error` with the
  function and zone instead of silently reading UTC.", followed by the
  new sentence on the generated `timestamp()` code.
- CHANGELOG.md, Unreleased: "Invalid point values use the existing
  symbol metadata error." now reads "An invalid `mintick` is refused as
  `symbol_feeds_refused` with reason `syminfo_mintick_invalid`; an
  invalid point value uses the existing symbol metadata error,
  `symbol_metadata_rejected` with field `point_value`."
- docs/design/native-feature-parity.md, row P8, last column: "verify
  inside the lane that touches each" now reads "verify inside the work
  item that touches each".

Co-Authored-By: Claude Opus 5.5 <[email protected]>

🤖 Generated with Claude Code

luisleo526 and others added 3 commits November 12, 2026 19:06
The P8 row of the native feature parity table said its open questions
are verified "inside the lane that touches each", using "lane" for a
unit of work. The rest of the page keeps "lane" for its design sense
(the Lane column and the kernel lanes), so this row now says "work
item". Only that one cell changes.

Documentation sentences this change removes or rewrites:
- docs/design/native-feature-parity.md, row P8, last column: "verify
  inside the lane that touches each" now reads "verify inside the work
  item that touches each".

Co-Authored-By: Claude Opus 5.5 <[email protected]>
The unreleased changelog said that a timezone name the engine does not
accept now raises pine_timezone_error instead of silently reading UTC.
That holds for the engine's own calendar functions. Code that the
transpiler generates for timestamp() with a zone, and for the date and
time fields (year, month, dayofmonth, dayofweek, weekofyear, hour,
minute, second) given a zone, still reads such a zone as UTC; the entry
now says so, and that this is fixed in a later release.

Documentation sentences this change removes or rewrites:
- CHANGELOG.md, Unreleased: "A timezone name written in a script that
  the engine does not accept now raises `pine_timezone_error` with the
  function and zone instead of silently reading UTC." now reads "A
  timezone name written in a script that the engine's own calendar
  functions do not accept now raises `pine_timezone_error` with the
  function and zone instead of silently reading UTC.", followed by the
  new sentence on the generated code.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
The 1.12.0 entry for invalid `--syminfo` values said they produce typed
refusals but named neither shape. It now says that an invalid `mintick`
is refused as `symbol_feeds_refused` with reason
`syminfo_mintick_invalid`, and that an invalid point value uses the
existing symbol metadata error, `symbol_metadata_rejected` with field
`point_value`, as docker/run_json.py raises them. The entry keeps its
line count.

Co-Authored-By: Claude Opus 5.5 <[email protected]>

@graphify-labs graphify-labs Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Graphify reviewed this change.

No issues found by static checks — no coupling regressions or blocking issues in the code graph. That is not the same as safe to merge: see what was not checked.

Not checked: tests were not run; no formal proof of the changed code.


Graphify review — findings

Narrows the changelog's pine_timezone_error entry to timezone names the engine's own calendar functions reject, and notes that transpiler-generated code for timestamp() with a zone, and for year, month, dayofmonth, dayofweek, weekofyear, hour, minute and second given a zone, still reads such a zone as UTC until a later release. It also spells out the --syminfo refusals: an invalid mintick is refused as symbol_feeds_refused with reason syminfo_mintick_invalid, and an invalid point value as symbol_metadata_rejected with field point_value. In the native-feature-parity design doc, one word in the P8 process-risk row changes from "lane" to "work item" and nothing else in the doc changes.

No blocking issues surfaced.

Analysis details — impact, health, verification

Impact & health

Graphify review

Impact — 129 functions depend on the 129 functions this change touches.

Health — grade A; no new coupling hotspots.

Verification — 129 functions in the blast radius were not formally verified this run (proofs are advisory here).

Gate & verification

graphify gate

PASS — objectively clean (no health regressions, tests not run — proofs not run this pass (advisory)). Grounded, not self-assessed.

Advisory (not blocking):

  • verification_scope: 129 function(s) in the blast radius were not formally verified this run

Test selection

Test selection

1425 of 1425 test file(s) selected (100%) via static blast radius.

Escalated to a full run for safety (noncode-change, uncovered-code) — the selection is not trustworthy on its own (see below). CI should run the whole suite.

  • benchmarks/tests/test_aggregate.py — full-run-safety
  • benchmarks/tests/test_check_provenance.py — full-run-safety
  • benchmarks/tests/test_compare.py — full-run-safety
  • benchmarks/tests/test_public_names.py — full-run-safety
  • benchmarks/tests/test_run_all.py — full-run-safety
  • benchmarks/tests/test_run_strategy_feeds.py — full-run-safety
  • docker/pineforge_sink_finalize_test.py — full-run-safety
  • docker/pineforge_sink_replay_rq_test.py — full-run-safety
  • docker/pineforge_sink_replay_test.py — full-run-safety
  • docker/pineforge_sink_to_json_test.py — full-run-safety
  • docker/quota_columns_test.py — full-run-safety
  • docker/quota_convert_test.py — full-run-safety
  • docker/quota_finalize_test.py — full-run-safety
  • docker/replay_rq_engine_test.py — full-run-safety
  • docker/run_json_artifact_window_test.py — full-run-safety
  • docker/run_json_bin_test.py — full-run-safety
  • docker/run_json_bounded_transport_test.py — full-run-safety
  • docker/run_json_bulk_equity_fuzz_test.py — full-run-safety
  • docker/run_json_bulk_equity_test.py — full-run-safety
  • docker/run_json_codes_test.py — full-run-safety
  • docker/run_json_converter_metadata_test.py — full-run-safety
  • docker/run_json_converter_session_test.py — full-run-safety
  • docker/run_json_diagnostics_test.py — full-run-safety
  • docker/run_json_equity_scan_test.py — full-run-safety
  • docker/run_json_fused_test.py — full-run-safety
  • docker/run_json_harnesses_test.py — full-run-safety
  • docker/run_json_metrics_only_test.py — full-run-safety
  • docker/run_json_misc2_test.py — full-run-safety
  • docker/run_json_misc_test.py — full-run-safety
  • docker/run_json_pfbar_test.py — full-run-safety
  • docker/run_json_provenance_test.py — full-run-safety
  • docker/run_json_quota_supervisor_test.py — full-run-safety
  • docker/run_json_replay_test.py — full-run-safety
  • docker/run_json_selected_sink_test.py — full-run-safety
  • docker/run_json_sink_lexical_test.py — full-run-safety
  • docker/run_json_sink_summary_test.py — full-run-safety
  • docker/run_json_sink_test.py — full-run-safety
  • docker/run_json_sink_vectors_test.py — full-run-safety
  • docker/run_json_spool_work_test.py — full-run-safety
  • docker/run_json_stringio_test.py — full-run-safety
  • docker/run_json_symbol_feeds_test.py — full-run-safety
  • docker/run_json_syminfo_test.py — full-run-safety
  • docker/run_json_trade_scan_test.py — full-run-safety
  • docker/run_json_window_budget_test.py — full-run-safety
  • docker/run_json_wrapper_work_test.py — full-run-safety
  • include/pineforge/native_run_spec.hpp — full-run-safety
  • scripts/derive_corpus_feeds_self_test.py — full-run-safety
  • scripts/fingerprint_self_test.py — full-run-safety
  • scripts/run_corpus_self_test.py — full-run-safety
  • scripts/test_abi_receipt_skips.py — full-run-safety
  • … and 1375 more

non-code file(s) changed (CHANGELOG.md, docs/design/native-feature-parity.md) → running the full suite for safety (a code graph can't see config/fixture/data deps)

changed code file(s) with no mapped test (CHANGELOG.md, docs/design/native-feature-parity.md) — a coverage gap or a missing link — running the full suite rather than only the selected tests

Selection is safe under the controlled-regression assumption; always-run tests + a periodic full run are the backstops. Advisory — it never changes the check verdict.

The changelog entry said that code the transpiler generates for
timestamp() with a zone, and for the date and time fields given a zone,
still reads a zone the engine does not accept as UTC. Measured on the
release pair, a zone that the host cannot load stops the date and time
field reads with pine_timezone_error; only the generated timestamp()
reads such a zone as UTC without an error, with a zone argument and
without one on a symbol whose zone is not UTC. The entry now says that,
on the same line.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@luisleo526
luisleo526 merged commit ff67778 into main Nov 12, 2026
17 checks passed
luisleo526 added a commit that referenced this pull request Nov 12, 2026
Engine main took a documentation change (#843) that rewrites two
changelog entries and says "work item" in row P8 of
docs/design/native-feature-parity.md. This branch edits the same P8
line, where it moves the set_risk_direction anchor to
pine_adapter.cpp:27363. The merge keeps both edits on that line; every
other path merges without a conflict.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
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