DictionaryCoding v1.0.0-alpha.1 by leogdion · Pull Request #1 · brightdigit/DictionaryCoding · GitHub
Skip to content

DictionaryCoding v1.0.0-alpha.1#1

Open
leogdion wants to merge 2 commits into
mainfrom
v1.0.0-alpha.1
Open

DictionaryCoding v1.0.0-alpha.1#1
leogdion wants to merge 2 commits into
mainfrom
v1.0.0-alpha.1

Conversation

@leogdion

Copy link
Copy Markdown
Member

Initial extraction of DictionaryCoding — a Codable-based DictionaryEncoder / DictionaryDecoder that converts Codable values to and from [String: Any] / NSDictionary (the dictionary analogue of JSONEncoder / JSONDecoder).

This branch brings the package up to BrightDigit's standard package scaffolding and serves as the v1.0.0-alpha.1 line. It is also consumed in the AtLeast monorepo as a git-subrepo on this branch.

Contents

  • Sources/DictionaryCoding — encoder/decoder, container/storage plumbing, and strategy enums (date, data, non-conforming float, key, missing-value)
  • Tests/DictionaryCodingTests — 71 tests across 14 suites (all passing)
  • Scaffolding: README, MIT LICENSE, .gitignore, SwiftLint + swift-format, .spi.yml, .mise.toml, .periphery.yml, codecov.yml, Makefile, project.yml, Scripts/, .devcontainer/, a DocC catalog, and a package-scoped CLAUDE.md
  • GitHub workflows: CI (DictionaryCoding.yml), CodeQL, and Claude — pinned to the Swift 6.3 / Xcode 26.4 toolchain the manifest (swift-tools-version: 6.3) requires

Notes

  • CI requires CODECOV_TOKEN and CLAUDE_CODE_OAUTH_TOKEN repo secrets.
  • The Ubuntu CI leg depends on a published swift:6.3-<os> image; the Apple-platform legs (macOS 26 / Xcode 26.4) are the primary coverage.

🤖 Generated with Claude Code

leogdion and others added 2 commits June 25, 2026 16:40
Give two self-contained, dependency-light units cleaner homes.

DictionaryCoding (Foundation-only, zero deps) moves out of AtLeastKit into
its own package at Packages/DictionaryCoding; AtLeastKit now depends on it
via ../DictionaryCoding. This keeps it independently reusable/testable
rather than entangling it with SundialKit.

ContextEngine and its revisioned-message protocols (RevisionedMessage,
ExpiringMessage, StaleWindow) move into a new SundialKitStreamSync target
+ product inside the SundialKitStream package, separating the snapshot-sync
reliability layer from the core observers. Consumers (ConnectivityService,
SessionIntent+Sync, TimerStateUpdate+Sync) import the new module; the sync
tests stay in SundialKitStreamTests (they share MockConnectivitySession)
with the new module added as a dependency.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Bring Packages/DictionaryCoding up to BrightDigit's standard package
scaffolding (modeled on SundialKit) ahead of extracting it into its own
repo: README, MIT LICENSE, .gitignore, swiftlint/swift-format,
.spi.yml, .mise.toml (no ruby), .periphery.yml, codecov.yml, Makefile,
project.yml, Scripts/, .devcontainer/, a DocC catalog, a package-scoped
CLAUDE.md, and GitHub workflows (CI, CodeQL, Claude) pinned to the
Swift 6.3 toolchain the manifest requires.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jun 25, 2026

Copy link
Copy Markdown

@codecov

codecov Bot commented Jun 25, 2026

Copy link
Copy Markdown

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

Thanks for integrating Codecov - We've got you covered ☂️

@github-advanced-security

Copy link
Copy Markdown

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