Skip to content

Add LiNo import support for C# and Rust#43

Merged
konard merged 4 commits intomainfrom
issue-25-4c1591ce
May 8, 2026
Merged

Add LiNo import support for C# and Rust#43
konard merged 4 commits intomainfrom
issue-25-4c1591ce

Conversation

@konard
Copy link
Copy Markdown
Member

@konard konard commented Sep 10, 2025

Summary

  • Resolve the merge conflict with main and keep the current C# layout plus Rust/WASM additions.
  • Add LiNo database import support to C# and Rust via --in, --lino-input, and --import.
  • Preserve numbered .lino links at their explicit indexes and treat named or out-of-range references as named unicode string links in the named mode used by default.
  • Add unit and CLI integration tests for numbered import, named references, out-of-range numeric names, and import/export round trips.

Reproduce

Create a LiNo file such as:

(1: 1 1)
(2: 1 2)
(3: 2 1)

Then import and export it with either implementation:

# C#
dotnet run --project csharp/Foundation.Data.Doublets.Cli -- --db imported.links --import input.lino --export output.lino

# Rust
cargo run --manifest-path rust/Cargo.toml -- --db imported.links --import input.lino --export output.lino

output.lino preserves the numbered links exactly.

Tests

  • dotnet build csharp/Foundation.Data.Doublets.Cli.sln --configuration Release
  • dotnet test csharp/Foundation.Data.Doublets.Cli.sln --configuration Release --no-build
  • cargo fmt --manifest-path rust/Cargo.toml --all -- --check
  • RUSTFLAGS=-Dwarnings cargo clippy --manifest-path rust/Cargo.toml --all-targets --all-features
  • cargo test --manifest-path rust/Cargo.toml --all-features --verbose
  • cargo test --manifest-path rust/Cargo.toml --doc --verbose
  • node scripts/check-file-size.mjs --lang rust
  • npm ci
  • npm run test:wasm
  • npm run build

Fixes #25

Adding CLAUDE.md with task information for AI processing.
This file will be removed when the task is complete.

Issue: #25
@konard konard self-assigned this Sep 10, 2025
konard and others added 2 commits September 10, 2025 16:20
- Added --export/-e option to export database to LiNo file format
- Implemented ExportToLino function using existing Format method
- Updated SetHandler to use InvocationContext for handling 9+ parameters
- Incremented version to 2.3.0 for new feature release
- All existing functionality preserved and tests pass

Resolves issue #25 - LiNo import functionality

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@konard konard changed the title [WIP] LiNo import Add LiNo export functionality with --export option Sep 10, 2025
@konard konard marked this pull request as ready for review September 10, 2025 13:34
@konard
Copy link
Copy Markdown
Member Author

konard commented May 8, 2026

We need to resolve conflicts. And we already have --export, now we need --import option for both Rust and C# code, it should read .lino file and if it contains only numbered links, we should reproduce them in our data store exactly. Any non-numbered links, or numbers that outside of supported range by ILinksContants should be treated as named (unicode string names) links references, if named operational mode is enabled. Or to simplify it for user, we can just enable named mode by default, numbered mode is not enough.

@konard konard marked this pull request as draft May 8, 2026 10:37
@konard
Copy link
Copy Markdown
Member Author

konard commented May 8, 2026

🤖 AI Work Session Started

Starting automated work session at 2026-05-08T10:37:31.334Z

The PR has been converted to draft mode while work is in progress.

This comment marks the beginning of an AI work session. Please wait for the session to finish, and provide your feedback.

@konard konard changed the title Add LiNo export functionality with --export option Add LiNo import support for C# and Rust May 8, 2026
@konard konard marked this pull request as ready for review May 8, 2026 10:58
@konard
Copy link
Copy Markdown
Member Author

konard commented May 8, 2026

Working session summary

Implemented and pushed the fix to PR 43: #43

What changed:

  • Resolved the merge conflict with main; PR merge status is now CLEAN.
  • Added LiNo import support for both C# and Rust via --in, --lino-input, and --import.
  • Numbered .lino links import at exact indexes.
  • Named and out-of-range references import as named unicode string references in named mode.
  • Added C# and Rust unit/integration coverage plus release notes/changelog fragments.
  • Updated the PR title/body and marked it ready for review.

Verification:

  • Local C# Release build/test passed.
  • Local Rust fmt, clippy, all-feature tests, doc tests, and file-size check passed.
  • Local WASM npm ci, npm run test:wasm, and npm run build passed.
  • GitHub CI is passing for the pushed head 51d2055844b916116e23094b2e4a74024d599949: C#, Rust, and WebAssembly workflows all succeeded.

Working tree is clean.


This summary was automatically extracted from the AI working session output.

@konard
Copy link
Copy Markdown
Member Author

konard commented May 8, 2026

🤖 Solution Draft Log

This log file contains the complete execution trace of the AI solution draft process.

💰 Cost estimation:

  • Model: GPT-5.5
  • Provider: OpenAI
  • Public pricing estimate: $17.725025

📊 Context and tokens usage:

  • 333.3K / 1.1M (32%) input tokens, 51.2K / 128K (40%) output tokens

Total: (333.3K + 12.1M cached) input tokens, 51.2K output tokens, $17.725025 cost

🤖 Models used:

  • Tool: OpenAI Codex
  • Requested: gpt-5.5
  • Model: GPT-5.5 (gpt-5.5)

📎 Log file uploaded as Repository (61603KB)


Now working session is ended, feel free to review and add any feedback on the solution draft.

@konard
Copy link
Copy Markdown
Member Author

konard commented May 8, 2026

✅ Ready to merge

This pull request is now ready to be merged:

  • All CI checks have passed
  • No merge conflicts
  • No pending changes

Monitored by hive-mind with --auto-restart-until-mergeable flag

@konard konard merged commit 895750d into main May 8, 2026
22 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.

LiNo import

1 participant