bc: add arbitrary-precision calculator tools - #28
Conversation
|
Independent devil's-advocate review on Verified independently:
The review did identify one additional release gate, not a formula workaround: both binaries export |
c85147d to
e674f8d
Compare
Exact-head update after tap #70This branch is now based directly on tap main
Through Kandelo's dev shell, the combined eight-formula syntax/style pass is clean, the merged support suite passes 29/216, and branch diff checks pass. A fresh exact-head devil review is still required. This supersedes the older restack head/base/hash paragraph in the PR body. Source materialization remains gated on Automattic/kandelo#882; no bottle, sidecar, receipt, provenance, or poured-install claim is made by this update. |
|
Independent devil review: ACCEPT at exact head The review independently verified the official source checksum and GPL-3.0-or-later headers; confirmed generated parser/lexer inputs make Flex/Bison unnecessary; verified host-only Texinfo and complete upstream installation of both programs, manpages, and Info manuals; and checked both final ABI 18 artifacts through the merged fail-closed validator. The explicit fork-free policy is correct for Focused validation through Do not merge yet: Automattic/kandelo#882 remains the declared hard source gate for authoritative ABI extraction. No bottle or publication claim is made. |
e674f8d to
6b6b862
Compare
|
Exact-head devil review after the history-only restack: APPROVE for source merge after Automattic/kandelo#882 at The Formula blob is exactly The explicit fork-forbidden policy remains correct: both real GNU outputs use the ABI 18 SDK and |
6b6b862 to
c3b9ad3
Compare
|
Independent history-only restack review: APPROVE exact head c3b9ad3. Formula blob and SHA-256 remain byte-identical to the previously accepted source/runtime candidate; the README delta is only the BC catalog row; exact syntax, diff, and Homebrew style checks pass. Source merge remains gated on Automattic/kandelo#882, and bottle publication still requires the stated final rebuild and guest proofs. |
c3b9ad3 to
7d2091c
Compare
|
Independent exact-head review completed for
No code blocker was found. Publication remains gated on a fresh exact-merged-head rebuild and Node/Chromium pours for the final consolidated ABI. |
Why
Kandelo users and scripts need arbitrary-precision arithmetic without depending
on the package registry that Homebrew is replacing. The tap does not yet build
the complete GNU calculator command surface from source. Migrating both
bcand
dcmatters because it proves their normal calculations anddcchildcommand behavior through Kandelo's supported Homebrew and process paths.
What changed
make install.dcshell escapes and their native Kandeloposix_spawnbehavior.fork: :forbiddenthrough the merged tap artifact contract.dcchild command.Neither executable should import
kernel.kernel_forkor carry fork-continuation exports; process creation lowers throughposix_spawn, so adding fork instrumentation would be incorrect.Current exact head
This branch is based directly on tap main
c5705667a90b05754d2244a362f3f7fc95d2f9c3.Head:
7d2091c23fb628c3de15cd9a487bccf79b5adaeb.Formula blob:
6f6b21bb5a47f479a0c3d2f584ea62e28e24e1d5.Formula SHA-256:
2ae6f213c52e14623229f2ae6c93f89bc06797f5db6bb42911cd59718d1536e9.All five commits range-diff identically from the previously accepted series. The diff is source-only:
Formula/bc.rband its README catalog row. It contains no bottle block, sidecar, archive, receipt, provenance metadata, or Wasm artifact.Validation
Through Kandelo's
scripts/dev-shell.shon the exact restacked head:brew style: one file inspected, no offenses.git diff --check: passed.Earlier ABI 18 source and runtime evidence covered the complete 14-file keg, exact bc/dc versions, 2^128, 30-digit division, and a real
dcchild command on Node and Chromium. Neither executable contained legacy Asyncify or a fork-continuation surface.That runtime evidence remains historical rather than an exact-head bottle or publication claim. The Formula is byte-identical at the blob above, so its source/test/artifact contract is unchanged; only branch history and README context changed.
Gates
Source merge is blocked until Automattic/kandelo#882 lands so the merged tap validator can identify aliased/stripped ABI exports without false rejection.
Trusted bottle publication additionally waits on the applicable platform/publisher work in Automattic/kandelo#842, #874, #881, #885, and #887; tap #22 if a branch dry run is needed; a fresh exact merged-head rebuild for the ABI selected by the external batching work; reviewed sidecars; and stock-guest Node/Chromium pours against published bytes.
Automattic/kandelo#873 and #888 do not apply because these outputs are not fork-instrumented. #890 does not apply because BC has no same-tap target dependency. #905 is not required for the current child-execution/output claim; it would become a gate for a parent-PID observability assertion. No platform or ABI change is included here.