Skip to content
Closed

Test #425

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
b82517c
remove ci
weasel-lee Dec 19, 2025
fa6f1d7
Add workflows
weasel-lee Dec 19, 2025
4477867
Enhance metadata prompt
weasel-lee Dec 19, 2025
1505c5e
fix allowlist
weasel-lee Dec 19, 2025
f61df2d
Strengthen example output assertions
weasel-lee Jan 2, 2026
4880ef8
Add context comment to integration tests
weasel-lee Jan 2, 2026
6c06e2c
Merge pull request #1 from weasel-lee/codex/strengthen-test-cases
weasel-lee Jan 6, 2026
631c6a5
Action via codex
weasel-lee Jan 8, 2026
1397773
Merge branch 'master' of https://github.com/weasel-lee/rust-csv
weasel-lee Jan 8, 2026
4825136
CR
weasel-lee Jan 8, 2026
574f7cc
Add test for inverted field mask
weasel-lee Jan 9, 2026
020fa2c
Add retain for records
weasel-lee Jan 9, 2026
4b158c4
Remove fork repo condition
weasel-lee Jan 9, 2026
6a28101
Use weasel-lee token for Codex comments
weasel-lee Jan 9, 2026
633ba47
Mod on actions yml
weasel-lee Jan 9, 2026
187937b
Merge pull request #7 from weasel-lee/codex/resolve-commentator-accou…
weasel-lee Jan 9, 2026
60bbd7f
Escape backticks in metadata workflow messages
weasel-lee Jan 9, 2026
e00543f
Merge pull request #10 from weasel-lee/codex/investigate-metadata-ref…
weasel-lee Jan 9, 2026
76f5a28
Add metadata for byte and string records
weasel-lee Jan 9, 2026
11b34e2
Force direct commit
weasel-lee Jan 9, 2026
45826a1
Add comment
weasel-lee Jan 13, 2026
fbb7cee
Use merge SHA for post-merge skip check
weasel-lee Jan 15, 2026
9256875
Add CSV metadata stubs
weasel-lee Jan 15, 2026
3ede342
Merge pull request #15 from weasel-lee/codex/bootstrap-metadata-files…
weasel-lee Jan 15, 2026
f2aed61
LOC condition
weasel-lee Jan 15, 2026
2416c3e
Enhance fallback pattern
weasel-lee Jan 15, 2026
33a3884
Merge branch 'master' into codex/suggest-refactor-for-github-actions-…
weasel-lee Jan 15, 2026
a72ad09
Merge pull request #19 from weasel-lee/codex/enhance-action-workflow-…
weasel-lee Jan 15, 2026
385f585
polish
weasel-lee Jan 15, 2026
afb78e3
Merge pull request #21 from weasel-lee/enhance_on_merge
weasel-lee Jan 15, 2026
1ac0a1f
Update record metadata for retain/trim
weasel-lee Jan 15, 2026
ca29219
Merge pull request #22 from weasel-lee/codex/suggest-refactor-for-git…
weasel-lee Jan 15, 2026
7a36d38
Merge branch 'master' into codex/create-fieldmask-module-and-apply-me…
weasel-lee Jan 15, 2026
86b604d
Update metadata for field masking
weasel-lee Jan 15, 2026
06c20d7
Revert "Add retain for records"
weasel-lee Jan 15, 2026
d57c32a
Merge pull request #24 from weasel-lee/codex/revert-code-change-from-…
weasel-lee Jan 15, 2026
da2938a
Merge pull request #23 from weasel-lee/codex/create-fieldmask-module-…
weasel-lee Jan 15, 2026
f7d2538
chore: post-merge metadata scaffold
github-actions[bot] Jan 15, 2026
c4bcd2e
Update metadata for record APIs
weasel-lee Jan 15, 2026
924fd71
Remove retain references from record metadata
weasel-lee Jan 15, 2026
c8392b2
Merge pull request #25 from weasel-lee/bot/metadata-post-merge-pr23-2…
weasel-lee Jan 15, 2026
bfc1a1b
polish
weasel-lee Jan 15, 2026
3287a44
polish yml
weasel-lee Jan 15, 2026
4d94e66
Switch metadata updates to PR approval
weasel-lee Jan 15, 2026
dd9a146
Merge pull request #26 from weasel-lee/codex/fix-yml-scripts-for-squa…
weasel-lee Jan 15, 2026
63155bd
rename action
weasel-lee Jan 15, 2026
68cb557
polish prompt.txt
weasel-lee Jan 16, 2026
9f48fb8
update prompt.txt
weasel-lee Feb 3, 2026
b90b650
update yml workflow
weasel-lee Feb 3, 2026
17b8858
Update actions
weasel-lee Feb 6, 2026
2783341
Docs: tweak tutorial intro
weasel-lee Feb 6, 2026
1fb2c43
Update metadata for src/lib.rs
weasel-lee Feb 6, 2026
29eae5f
Merge pull request #27 from weasel-lee/codex/test-updated-actions-wor…
weasel-lee Feb 9, 2026
94f5677
refactor: centralize default buffer capacity
weasel-lee Feb 9, 2026
c2c9ea2
Merge pull request #28 from weasel-lee/codex/update-rust-files-for-me…
weasel-lee Feb 11, 2026
b13e4c5
Echo PR author
weasel-lee Feb 25, 2026
6aa6861
WIP
weasel-lee Feb 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .github/FUNDING.yml

This file was deleted.

9 changes: 9 additions & 0 deletions .github/metadata/allowlist.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# include glob patterns (repo root 기준)
src/*.rs
crates/**/src/*.rs

# exclude patterns: ! 로 시작
!crates/experimental/**
!crates/**/src/generated/*.rs

# skipped (<100 lines): src/debug.rs
12 changes: 12 additions & 0 deletions .github/metadata/allowlist2.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# root crate
src/**/*.rs

# workspace crates (present at repo root)
csv-core/src/**/*.rs
csv-index/src/**/*.rs

# (선택) 제외 예시
!**/target/**
!**/benches/**
!**/tests/**
!**/examples/**
123 changes: 123 additions & 0 deletions .github/metadata/prompt.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
You are helping build an LLM-friendly codebase. Your job is to read Rust source code plus some structural metadata and produce a compact, *orthogonal* semantic metadata block.

Orthogonal here means:
- Do NOT restate trivial details that are obvious from the code or structural metadata (e.g., function lists, field names, basic control flow).
- Focus on “expensive” understanding: invariants, assumptions, tricky behavior, edge cases, concurrency contracts, error propagation, architectural boundaries, and extension points.

This metadata is optimized for future LLM queries about:
- code review,
- architectural review,
- adding new features safely based on the existing semantics
(including correctness questions, potential bugfixes, and design advice).

Think of this as caching the *hard parts* of understanding so that future LLM calls don’t have to rediscover them from scratch.

Input format:

The runtime will provide a single text input like:

```
=== EXISTING METADATA (<path/to/file.metadata.txt>) ===
<Existing *.metadata.txt contents for this file>
(or the literal placeholder "<none>" if there is no existing metadata)

=== RUST SOURCE (<path/to/file.rs>) ===
<Rust source code for this file>
```

OUTPUT INSTRUCTIONS:
Write the new/updated metadata text only.

How to interpret inputs:
- If the EXISTING METADATA section is "<none>", you are in CREATE mode: generate metadata from the Rust source (and any structure implied by the path/module role).
- If the EXISTING METADATA section contains prior metadata, you are in UPDATE mode: treat it as the previous canonical metadata and produce an UPDATED replacement based on the current Rust source.

Important UPDATE-mode rules:
- Preserve bullets that are still correct and still “expensive” (orthogonal) knowledge.
- Remove bullets that are now stale/incorrect given the current Rust source.
- Add new bullets for newly introduced semantics, invariants, edge cases, concurrency contracts, error behavior, boundaries, or risks that were not captured before.
- Do NOT output a diff. Output the full refreshed metadata block in the exact required structure below.
- If the existing metadata contains non-semantic housekeeping lines (e.g., hash headers such as "# source_sha256: ..."), ignore them and do not include them in the final output.

DEPTH + GROUNDING REQUIREMENTS (STRICT):
- Target size: Aim for ~80–150 lines of content inside the metadata block (excluding the outer triple backticks). Be longer for genuinely complex files; be shorter only if the file is truly simple.
- Avoid generic filler: Every bullet should be specific to THIS file. Prefer facts that would be expensive to re-derive.
- Grounding rule: Every bullet must reference at least one concrete, file-specific identifier or term present in the RUST SOURCE (e.g., a type/trait/function name, enum variant, constant, error name, log message key, protocol/exchange name, etc.). If a section truly has nothing meaningful, explicitly say so (e.g., “None; …”) rather than writing generic advice.
- Recommended minimum depth per section:
- `high_level_purpose`: 2 bullets.
- `core_domain_concepts`: 2 bullets.
- `correctness_critical_invariants_and_assumptions`: 3 bullets.
- `lifecycle_and_main_flows`: 3 bullets.
- `edge_cases_and_tricky_behavior`: 2 bullets.
- `concurrency_and_ordering_contracts`: 3 bullets, OR the exact single bullet “None; logic is effectively single-threaded and synchronous.”
- `design_and_responsibility_boundaries`: 2 bullets.
- `likely_bug_hotspots_and_risks`: 2 bullets.
- `refactoring_and_extension_notes`: 2 bullets.

Your output must be EXACTLY this structure:

[FILE METADATA]
update_at:
- <current date in YYYY-MM-DD format>

high_level_purpose:
- <1–3 bullets that describe why this module exists and what role it plays in the larger system. Focus on behavior and responsibilities, not syntax.>

core_domain_concepts:
- <concept name>: <what it represents / how this file treats it>
- <concept name>: <...>
(e.g. “event type”, “node”, “exchange client”, “rolling trade window”, etc.; skip obvious type aliases and tiny helpers.)

correctness_critical_invariants_and_assumptions:
- Invariant: <condition that should always hold at runtime, given correct use>
- Invariant: <...>
- Assumption: <implicit assumption about inputs, environment, call order, external services, or data shapes>
- Assumption: <...>
(Focus on timing, ordering, state relationships, and invariants that, if broken, would cause incorrect behavior or regressions when changing or extending the code.)

lifecycle_and_main_flows:
- <name>: <short description of the main flows (e.g. startup → steady state → shutdown, watch loop, catch-up path, subscription lifecycle). Emphasize phases, transitions, and where state changes.>
- <name>: <...>

edge_cases_and_tricky_behavior:
- <describe behaviors that are non-obvious or surprising: special cases, resets, ignored inputs, silent fallbacks, unusual defaulting, test-mode behavior, etc.>
- <include any conditions where behavior diverges significantly from the “normal” path.>
- <...>

concurrency_and_ordering_contracts:
- <describe how tasks, locks, channels, and CancellationTokens are used; what data is shared; what is serialized vs parallel.>
- <state any ordering guarantees between operations/streams that callers must rely on (or must NOT rely on).>
- <note any potential races, deadlock risks, or subtle concurrency issues.>
- If there is no meaningful concurrency, say: “None; logic is effectively single-threaded and synchronous.”

error_propagation_and_recovery:
- <describe how errors are detected, wrapped, and surfaced (Result/Status/etc).>
- <explain which errors are retried vs fail-fast, and where logging vs propagation happens.>
- <mention any partial-failure behavior (e.g., some operations succeed while others are logged and skipped).>
- <call out any cases where errors are silently ignored or only logged, as these matter for correctness and debugging.>

design_and_responsibility_boundaries:
- <describe how responsibilities are split within the module (client vs monitor, handler vs state, config vs runtime, etc.).>
- <note any places where responsibilities are mixed in a way that could complicate reasoning, testing, or changes (tight coupling, shared mutable state, hidden global assumptions, etc.).>
- <highlight key extension points (traits, callbacks, configuration knobs, type parameters) that are intended for new features.>

likely_bug_hotspots_and_risks:
- Risk: <area where bugs are likely (complex conditionals, subtle invariants, tricky time/ordering logic, error-handling gaps). Explain why.>
- Risk: <...>
- Risk: <...>
(These are not guaranteed bugs, but areas that deserve extra attention in code review, when modifying logic, or while adding features. Phrase carefully: “Risk: …” or “Potential pitfall: …”.)

refactoring_and_extension_notes:
- <describe aspects of the design that make future changes or new features easier or harder: strong coupling, global state, shared locks, assumptions that would need to be broken, etc.>
- <note natural seams where the module could be split, where responsibilities could be extracted, or where a new feature would most cleanly hook in.>
- <mention any “do not break” contracts that refactors or new features must respect.>
[END FILE METADATA]

Additional instructions:
- DO NOT include any raw code or large signature dumps in your output.
- DO NOT enumerate every function or field; only mention specific names when they are important to invariants, concurrency, extension points, or design boundaries.
- DO NOT propose specific refactor implementations, concrete feature designs, or bug fixes here; just describe where the design is rigid, fragile, complex, or amenable to extension.
- Favor dense bullet points over paragraphs.
- Prefer information that would be expensive for another LLM to re-derive from scratch by reading the code.
- If something is inferred rather than explicit, phrase it as “likely”, “appears to”, or “potential”.
- Put the response in a fenced code block (triple backticks) so that I can copy/paste without losing markdown format.
98 changes: 0 additions & 98 deletions .github/workflows/ci.yml

This file was deleted.

Loading
Loading