Skip to content

docs: describe current discovery and quantity capabilities - #24

Merged
ScottishTapWater merged 1 commit into
feat/discovery-metadatafrom
docs/discovery-capabilities
Oct 24, 2026
Merged

ScottishTapWater merged 1 commit into
feat/discovery-metadatafrom
docs/discovery-capabilities

Conversation

@ScottishTapWater

Copy link
Copy Markdown
Contributor

Summary

README follow-up stacked on #22.

  • Describe powers, roots, rational exponents and dimensionless arithmetic results.
  • Document discovery through locals, branches, members, method returns and type-only declarations.
  • Explain referenced-package interoperability and per-compilation aliases.
  • Replace the outdated limitations paragraph with the current discovery boundaries.

Verification

  • All six README C# examples compiled together in an isolated C# 14 consumer using the current runtime and generator: zero warnings or errors.
  • Independent technical documentation review completed; wording corrected and reviewed again.
  • git diff --check passed.

Only README.md changes.

@ScottishTapWater
ScottishTapWater enabled stacked auto-merge (squash) October 24, 2026 18:04
stacked auto-merge was automatically disabled October 24, 2026 18:06

Auto-merge was disabled for another pull request in the stack

@ScottishTapWater
ScottishTapWater merged commit 8051ae6 into main Oct 24, 2026
2 checks passed
@ScottishTapWater
ScottishTapWater deleted the docs/discovery-capabilities branch October 24, 2026 18:07
ScottishTapWater added a commit that referenced this pull request Oct 24, 2026
## Summary

Stacked on #24 (`docs/discovery-capabilities`).

- Replace recursive expression/declaration inference with iterative
analysis compilations, letting Roslyn resolve intermediate values
between dimensional operations.
- Support composition through lambdas, generic results, LINQ, tuples,
deconstruction, foreach, awaited results, block getters, casts, defaults
and standalone canonical factories.
- Preserve default post-initialisation output, existing operators and
aliases, English powers, metadata conversions, and edit/removal
behaviour. Discover metadata conversions again when later binding makes
a return type available.
- Keep orchestration, bound-operation reading, name discovery and source
composition separate. Exclude our own post-initialisation files from
discovery traversal.
- Remove the old analyser, declaration resolver and operand models;
replace traversal-specific tests with focused arithmetic/coordinator
coverage while retaining generator acceptance tests.

## Verification

- Tests written against the empty coordinator before implementation;
initial 25 cases failed as expected.
- Solution build: no warnings or errors.
- Core: 471 passed.
- Roslyn: 374 passed, including the added review regressions.
- Package integration: 2 passed, including independent packaged
producers and a consumer.
- `dotnet format --verify-no-changes --no-restore` on changed files and
`git diff --check`: passed.
- Independent production and test reviews completed; final production
re-review covered the generated-tree filter.

## Documentation

The README's statement that async discovery is unsupported is now
outdated. Updating its discovery list and scope paragraph is awaiting
the requested documentation approval.
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