Repository navigation
docs: add Lode Coding and align docs with the code - #71
Merged
Merged
Conversation
Add AGENTS.md with the Lode Coding prompt, CLAUDE.md that imports it, and a Lode in lode/ that describes the builders, build, tests, docs, and benchmarks. Anchor the docs/ ignore rule to the root so that lode/docs/ is tracked, and ignore lode/tmp/. Correct documents that disagreed with the code: - README: configuration default, SDK requirements, the target list, and the release flow with NuGet trusted publishing. - XML docs: remove "A cancellation check is performed" from members that do no check. - Choosing-a-builder and Understanding-and-bang: backgroundCancellableTask has no MergeSources, so it does not support and!. - Changelog links: gitHubRepoUrl ends with a slash, so the generated compare and tag links had "//". Trim the slash where Changelog.fs builds the links, and fix the existing links in CHANGELOG.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Add 12 decision records in adr/, mined from the merged PRs and commits and confirmed with the maintainer. ADRs live in adr/ because docs/ is the generated fsdocs output. The Lode links each ADR from its domain file and records three facts from the skipped candidates. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds a Lode for AI agents, adds decision records, and corrects docs that disagree with the code.
The ADRs in
adr/record 12 decisions, from the function type aliases (0001) to one namespace per builder file (0012). Each ADR quotes its PR, issue, review, or commit. When no source stated a reason, the maintainer confirmed the reason, and the ADR says so. The ADRs are inadr/, notdocs/adr/, becausedocs/is the generated fsdocs output and each docs build deletes it.Doc corrections:
README.mdlists the real FAKE targets and chains.CONFIGURATIONdefaults toDebug, and thePublishtarget usesRelease. The release flow isReleaseon master, a tag push, and thenpublish.ymlwith NuGet trusted publishing.backgroundCancellableTaskhas noMergeSources. Anand!giveserror FS3343, so the docs no longer say that it supportsand!.Return,Bind,For, andBindNoCancellationsaid that they check for cancellation. Those members do not check. The twoBindoverloads that check keep the remark.Evidence
mkLinkReferencewithhttps://github.com/TheAngryByrd/IcedTasks/madehttps://github.com/TheAngryByrd/IcedTasks//compare/....After: It makes
https://github.com/TheAngryByrd/IcedTasks/compare/.... The URL with no trailing slash gives the same result.backgroundCancellableTask { let! a = ... and! b = ... }fails witherror FS3343.dotnet build src/IcedTasks -c Releasegives 0 warnings.dotnet fantomas src build --checkis clean.dotnet build build/build.fsprojpasses.Merge Danger
Door: two-way
Blast Radius: docs
The only code changes are XML doc comments and URL building in
build/Changelog.fs. The nextReleasetarget run uses the newChangelog.fscode.These defects exist on master. This PR does not fix them:
backgroundCancellableTaskdoes not supportand!.Expect.throwsTAsynchas an inverted type check. It fails when the exception is the expected type or a base type, and passes for other types.RevertChangelogreadschangelogBackupFilenameinbuild/build.fs, and no code sets that value.FSharpAnalyzerstarget readspackages/analyzers, and no step creates that directory.🤖 Generated with Claude Code