Skip to content

Release polish: WP0-WP8, catalogue, ASE, release system, branding - #1

Merged
JosephCodemard merged 16 commits into
mainfrom
dev/2026-11
Nov 11, 2026
Merged

JosephCodemard merged 16 commits into
mainfrom
dev/2026-11

Conversation

@JosephCodemard

Copy link
Copy Markdown
Owner

Closes the November 2026 iteration (see docs/design/history.md); open items in docs/design/next-steps.md. C# 585 pass, Python 249 pass, mkdocs strict clean.

🤖 Generated with Claude Code

JosephCodemard and others added 14 commits November 10, 2026 17:43
…plan for the next iteration

Removes the five session notes, the roadmap, the assessment and the finished fix plan (their content is in ao-twin-2026-11.md); plan-next.md is rewritten for the next iteration and the old one becomes backlog.md. References updated.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… on the spike leftovers

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ssage, tests for the open S3 edges

- UF_WITH_AO compiles the ao plugin into the NativeAOT library; the packager passes UF_WITH_AO=false when it is not selected.
- GridPlanner makes room for spectralShaper side pulses (orders 1-8) and aopdf delay / replica delay / GDD x bandwidth; warns on a fixed window.
- Unknown-element error names the ao plugin for its four types.
- Tests: Littrow grating dispersion, Bolduc and double phase through the slm element, tiled-array lobe fractions, planner behaviour, packaging flag.
- Docs, changelog, status counts and docs/design/notes/wp0.md (includes the open SLM first-order efficiency finding).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ee SPGD, speed decisions, Branched-vs-tiles test

- TransverseMap.Sample: an axis with one sample is constant along it (a one-row scene on a ny = 1 grid gave zero).
- cw sources sit exactly on the requested carrier (no lattice snapping unless snapCarrier is written); a single stored frequency of a pulse is its
  energy-centroid frequency. cw and one-frequency pulse patterns now agree to 1e-16 (were 3e-6); two tolerances tightened, none loosened.
- sensorless.spgd: gain=None is a scale-free normalised step (0.4 x amplitude), fixed gain kept; tests across metric scales 1e-3..1e3 and on the engine bench.
- speed.md: compile cache and streaming executor decisions with their revisit triggers.
- Test: four-arm Branched balanced tree against the tile source on axis.
- Docs, changelog, status counts, notes/session-a.md; Branched/interferometers README numbers updated (etalon peak 0.9996, sampling of the resonance).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…, frequency-resolved Drude plasma in all field models (WP4)

WP1: BeamState.Duct/DuctMatrix (exact reduced ABCD of a quadratic-index duct), one duct per gain slice, measured focalLengthM is the effective focal length,
regenerative amplifiers can put the lens on the tracked beam, effective and thin-lens-equivalent focal lengths reported.
WP4: IDispersiveResponse and DispersiveResponses: Drude index i(w/c)R(w)FFT[dn A] in the envelope, carrier-resolved and spatial propagators;
ionization.frequencyResolved and ionization.electronDensityM3. 9 new tests, docs, changelog, notes/session-b.md.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…logue move

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…source, status and uncertainty

The tables of MaterialLibrary, Gases and RamanModels moved into src/UltrafastEngine.Core/Data/materials (pure refactor: 2963 pinned
values reproduced to 1e-15). Runs list the approximate / unverified catalogue values they used (notes, summary.json unverifiedInputs,
provenance), user catalogues in ~/.ultrafast/materials replace quantities with a notice, ultrafast reference materials generates the
catalogue page. 28 dispersion sets verified against refractiveindex.info pages.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…d, session C notes, plan and status

The old two-point TGG fit was up to 0.0106 from the measured table; the 24 pinned TGG values are re-pinned on purpose. 28 of 115
catalogue quantities are verified; the rest are listed in docs/design/notes/session-c.md and the generated catalogue page.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…atalogue, strict materials mode

Pure refactor (3412 pinned values, 1e-15); 15 crystal index sets and Ciddor's dry-air dispersion verified against the database pages;
physics.strictMaterials / ULTRAFAST_STRICT_MATERIALS refuse non-verified catalogue values; YVO4 keeps the vendor sets (owner decision).
Docs, session-c notes and plan-next updated.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…fringence map

- Gain/AseModel.cs: forward and backward ASE per transverse cell and frequency, quasi-static in z,
  depleting the inversion in PumpCw / Decay / the pulse-train steady state; new opt-in key aseModel;
  reports the ASE in the signal mode and the pedestal strength
- thermalLens.stress on a cartesian grid applies the radial/tangential Jones map (carried y profile)
- 9 tests (AseStressTests); docs: gain.md, session-d.md, plan-next.md, testing.md, changelog, architecture

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…elease workflow

- build/package.py --components: one reproducible .tar.gz per component and platform,
  manifest.json and install.py in dist/release-<version>/; old flags are aliases
- build/release_components.py: component registry, git-ls-files source selection,
  asset writer, manifest merge, ZOS-API gate (also looks inside wheels)
- install.py: --list/--include/--exclude (dotted names down to examples.<Group>.<name>),
  hash-checked install, install record, add/upgrade/uninstall, --source git sparse checkout
- .github/workflows/release.yml (draft release; not yet run on GitHub)
- 23 Python tests (test_release.py); docs: releasing.md, testing.md, session-f notes,
  plan-next, changelog, architecture map, PROJECT_STATUS

Verified: C# 585 pass / 9 skipped (net10.0), Python 251 pass / 2 skipped, examples 0 problems,
mkdocs strict 0 warnings, generated files unchanged. Not run: net48 on Mono, the workflow itself.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… grid, design docs condensed

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings November 11, 2026 18:00

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

JosephCodemard and others added 2 commits November 11, 2026 19:05
…t, catalogue defaults, strict allow-list, override notes

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… a checkout

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@JosephCodemard
JosephCodemard merged commit 5a61fd6 into main Nov 11, 2026
26 checks passed
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.

2 participants