Skip to content

Merge develop into main#12

Merged
917Dhj merged 53 commits into
mainfrom
develop
Jul 16, 2026
Merged

Merge develop into main#12
917Dhj merged 53 commits into
mainfrom
develop

Conversation

@917Dhj

@917Dhj 917Dhj commented Jul 16, 2026

Copy link
Copy Markdown
Owner

Summary

  • merge the current verified develop snapshot into main
  • preserve accumulated commit and contributor history with a merge commit

Full change set: main...develop

Validation

  • local full suite: 710 passed, 1 skipped, 5 warnings
  • current develop tree matches the tree from the latest successful PR CI run
  • clean no-commit merge rehearsal against the current main
  • this PR's CI must pass before merge

917Dhj and others added 30 commits June 20, 2026 02:22
…o codex/reuse-acquisition-artifacts

# Conflicts:
#	scripts/build_identity_contract.py
#	scripts/common.py
#	tests/test_acquisition_artifacts.py
…o codex/reuse-acquisition-artifacts

# Conflicts:
#	scripts/common.py
#	tests/test_acquisition_artifacts.py
The scripts assumed POSIX conventions that break on Windows, so the pipeline
could crash, silently drop output, or write broken notes there. Two
repo-authored tests (test_resolve_obsidian_note_path_*) already failed on
Windows for this reason.

Three implicit assumptions are fixed:
- Path separator: str(Path(...)) renders with "\" on Windows.
  * common.resolve_obsidian_note_path: compare on Path.parts instead of
    str(subdir).startswith(papers_dir) (was duplicating the Research/Papers
    prefix on Windows).
  * materialize_figure_asset: build the absolute image embed with as_posix()
    (backslashes broke the Markdown link).
  * plan_figure_table_decisions.source_image_filename: split on [\/] so a
    backslash path is not returned whole.
- UTF-8 BOM: read with utf-8-sig in common.load_json_file /
  shell_config_value / load_domain_rules, lint_grounding.load_record,
  lint_note (note input), write_obsidian_note (--content-file, --lint-json),
  and citation_links.build_vault_note_index (a BOM note was dropped from the
  index, so wiki-links never resolved).
- CRLF: lint_note.strip_frontmatter tolerates \r and the note is
  newline-normalized on read.

Add tests/test_windows_path_encoding.py (11 cases) feeding BOM / CRLF /
backslash inputs; verified they fail on the pre-fix code and pass after.
Suite: 2 failed / 292 passed -> 305 passed. No-op on Linux/macOS and no
public API or output-format change.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Preserve Zebang Cheng's original PR commit while adapting lint gate reporting to the current develop reference hygiene gate.
917Dhj and others added 23 commits July 2, 2026 19:55
fix: normalize Obsidian note paths across platforms
…s-path-encoding

# Conflicts:
#	CHANGELOG.md
#	scripts/common.py
#	scripts/write_obsidian_note.py
…gate

Improve paper glossary selection and Obsidian workflow
@917Dhj
917Dhj merged commit b870b25 into main Jul 16, 2026
2 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.

4 participants