PyCForge 1.3.66 / separate SDK 0.4.0 / bundled math 0.3.0
Reusable optional and named scalar argument contracts
Work date: 2026-10-28 (America/Chicago)
Qualification: Linux x86_64, Python 3.12.14, GCC 13.3.0, PySide6/Qt 6.12.0 offscreen

DELIVERED BEHAVIOR

ScalarParameter declares a name, positional-only / positional-or-keyword /
keyword-only kind, and an inert default. Numeric defaults are canonical finite
binary64 text; negative zero is retained. Explicit declarations bind up to four
slots, support required keyword-only arguments, and reject malformed ordering,
unknown fields, duplicate names and executable default expressions.

One engine binder evaluates supplied expressions exactly once in source order,
then maps them to declaration slots. Missing values, excess positional values,
unknown names, duplicate values, positional-only misuse and expansion receive
specific PYC4706 source diagnostics and no partial C. Runtime numeric/domain
failures remain catchable. Existing fixed positional descriptors preserve their
original catalogue bytes and fingerprints.

Math log(x, base=<omitted>, /) supports an optional positional base. Omission
is distinct from explicit None. Base one raises ZeroDivisionError; nonpositive
values raise ValueError. isclose(a, b, *, rel_tol=1e-9, abs_tol=0.0) accepts named
a/b and keyword-only tolerances. Its equality, infinity, NaN, signed-zero and
negative-tolerance behavior follows the qualified CPython reference fixtures.
There are 36 math functions and five constants. Other exports retain their
existing positional contracts.

Closed log-ratio and symmetric-close kernels are selected by contract, never
by library/export names. The independently named signal_ops template also uses
a native copysign binding with an optional sign, a named logarithm radix and
custom tolerance names. SDK Python and console clients use the same backend;
conversion semantics remain solely in the selected engine.

Autocomplete offers admitted keyword names, excludes occupied slots and tracks
the active keyword when arguments are reordered. Normal expression completion
and insertion/Undo remain available. Signatures and offline Help use the same
parameter contracts. Help displays readable defaults, numerical limits and
fixture examples; browsing never runs them. Runtime stays a preview target.

VERSIONS AND COMPATIBILITY

Extension API/catalogue and scalar declaration/profile are 0.3. Engine API and
discovery stay 0.1; documented package format stays 0.2; SDK project/report formats
stay 0.2. SDK 0.4 reads catalogues 0.1/0.2/0.3. SDK 0.3 refuses catalogue 0.3 while
preserving its earlier offline cache. A source-extracted engine 1.3.65 refuses
math 0.3.0's new profile. Exact legacy math 0.2.1 documentation and math scalar
0.1 fingerprints still admit on the new engine. Installed 1.3.60/1.3.61 gates
exercise legacy browsing, project migration and old-engine package refusal.

Changed project/defaults, documentation, engine, SDK or compiler evidence blocks
build without replacing existing output. Failed re-verification retires prior
approval. Registration remains an explicit action and never repeats SDK native
verification. Existing registered math overrides retain their selected versions;
disable an old override to use bundled math, or register math 0.3.0 explicitly.

VERIFICATION RESULTS

1. Full engine suite: 3,524 test nodes were collected and assigned exactly once
   across four disjoint groups. Initial result: 3,439 passed, 13 failed and 72
   skipped, with 4,899 passed subtests. All 13 failed nodes pass in the recorded
   follow-up. Three additional regression nodes also pass. Reconciled coverage:
   3,455 passed, 72 skipped, zero unresolved failures. This is grouped coverage
   plus follow-ups, not a claim of one initially clean test run.
2. Follow-up: 126 tests and 198 subtests passed. Final Help rendering changes
   passed another 31 tests. These overlap the full suite and are not added to
   the distinct totals. Initial focused development runs are retained too.
3. Installed engine: 115 external tests passed. All 294 loaded engine modules
   resolve to the installed wheel directory. Tests include native parameter
   cases, legacy identity, completion/insertion/Undo, searchable Help and startup
   recovery regressions. No SDK is installed in the engine environment.
4. Separate SDK: all 62 distinct source tests are resolved (initial 58 passed,
   four follow-ups passed); the complete installed SDK suite passed 62/62.
   All eight loaded SDK modules are installed-wheel files. Its environment
   contains neither PyCForge nor Qt. Compatible engine-only method/template
   additions, stale evidence, failed verification and output preservation pass.
5. Installed SDK-created math passed all 56 fixtures: 43 native programs and
   13 expected conversion rejections. Repeated builds have identical bytes.
   SDK-built and bundled conversion.json and documentation.json are identical.
   The tolerance fixture compares 1,936 value/tolerance combinations, plus type
   and default-call cases, with separately executed CPython math expectations.
6. Independently named signal_ops passed its native and rejection fixtures,
   deterministic build, explicit registration, production conversion and named
   completion with the SDK absent from the engine. Its generated C passed GCC
   C11, UBSan and -Wall -Wextra -Werror with the existing exclusions
   -Wno-unused-function, -Wno-unused-variable and -Wno-misleading-indentation.
   This is not an unsuppressed warning-clean claim for the runtime template.
7. Offline Help verification passed: 31 pages, five categories, 81 Python
   examples, 49 Runtime and 32 Typed native comparisons, five API examples,
   four C callers, three module examples and three README examples. The exact
   new optional/named math Help example passed a separate native regression.
   The selected installed math Help was visually inspected.
8. README rendering passes with exactly four approved images, no navigation
   links, and the approved 320/640 banner widths. Its version is 1.3.66; two
   focused prose updates describe the newly supported calls and assistance.
   Historical screenshot labels and fixed-issue versions are preserved.
9. In-memory syntax checks passed for 359 package, 82 tool and 263 top-level
   test Python files. The JSON audit passed. Extension-language source fixtures
   and historical evidence are retained without treating them as Python modules.

ATTEMPTS AND RESOLUTIONS

The full suite exposed old math-version/file-inventory expectations, two
startup mocks missing the already-added safe_mode/cancelled parameters, and
inherited audit expectations that did not yet account for the completed 1.3.65
import worker. The existing worker source is unchanged. Its process boundary
was reviewed and a byte-specific audit allowance added, with a mutation test
that rejects a changed worker; the frozen historical scanner remains strict.
The exact converter inventory includes the new scalar-kernel module.

Early focused runs overlapped a version/catalogue regeneration and used old
completion expectations; the final stable runs resolve those failures. SDK
follow-ups configured the required installed predecessor environments and
corrected a new test's scan-envelope accessor. A README run needed the optional
Markdown renderer dependency. An initial installed harness mistakenly resolved
the venv interpreter symlink to base Python; the harness now preserves the venv
path. An installed-origin hook originally compared symlink spellings; it now
asserts canonical installed paths. Failed logs remain in the evidence folders.

SCOPE, PRESERVATION AND HANDOFF

All 3,832 maintained engine baseline files and all 48 maintained SDK baseline
files remain present. Changes are enumerated in source-preservation.json.
Development directives, README rules, earlier frameworks, tests, fixtures,
examples, tools and historical evidence are retained. The SDK's former current
verification report is also retained under its new evidence folder.

The sources contain specifications/PyCForge-SDK-Framework-0.4.md (engine) and
its SDK docs/FRAMEWORK.md counterpart. NumPy still needs explicit shape, dtype,
ownership, lifetime, aliasing, allocation/cleanup and error contracts. Arrays,
native resources, the separate SDK GUI and an independent human-author usability
trial remain open gates. The signal_ops example is an engineered integration
fixture, not a claim that a human author trial has been completed.

Qualification is finite fixture evidence on this Linux/GCC host, not proof of
all inputs, Windows/macOS qualification, cross-platform bit identity or a
security certificate. SDK evidence is unsigned. The 72 inherited skips concern
unconfigured PCFC11, unavailable Clang, sealed historical predecessors and the
conditional test for a host without Qt. No new skips hide this feature's tests.

This in-source report precedes final distribution assembly. The accompanying
external report records strict distribution validation, source rebuilds,
installed payload identity and exact final byte sizes/SHA256 hashes.
Only CC publishes releases. No PyPI upload or other publication was performed.
