Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
30 changes: 30 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,25 @@ jobs:

steps:
- uses: actions/checkout@v4

- name: Detect Rust workspace
id: rust-workspace
run: |
if [ -f Cargo.toml ]; then
echo "present=true" >> "$GITHUB_OUTPUT"
else
echo "present=false" >> "$GITHUB_OUTPUT"
echo "No root Cargo.toml found; skipping Rust checks for this corpus-only checkout."
fi

- name: Install Rust
if: steps.rust-workspace.outputs.present == 'true'
uses: dtolnay/rust-toolchain@stable
with:
components: clippy, rustfmt

- name: Cache cargo
if: steps.rust-workspace.outputs.present == 'true'
uses: actions/cache@v4
with:
path: |
Expand All @@ -35,13 +47,16 @@ jobs:
${{ runner.os }}-cargo-

- name: Check formatting
if: steps.rust-workspace.outputs.present == 'true'
run: cargo fmt --all -- --check

- name: Clippy
if: steps.rust-workspace.outputs.present == 'true'
run: cargo clippy --workspace --all-targets -- -D warnings
continue-on-error: true

- name: Build
if: steps.rust-workspace.outputs.present == 'true'
run: cargo build --release --workspace

# ==================== Next.js Frontend ====================
Expand All @@ -54,22 +69,37 @@ jobs:

steps:
- uses: actions/checkout@v4

- name: Detect Next.js app
id: next-app
working-directory: .
run: |
if [ -f uet_web/package-lock.json ]; then
echo "present=true" >> "$GITHUB_OUTPUT"
else
echo "present=false" >> "$GITHUB_OUTPUT"
echo "No uet_web/package-lock.json found; skipping Next.js checks for this corpus-only checkout."
fi

- name: Setup Node.js
if: steps.next-app.outputs.present == 'true'
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: './uet_web/package-lock.json'

- name: Install dependencies
if: steps.next-app.outputs.present == 'true'
run: npm ci --legacy-peer-deps

- name: Lint
if: steps.next-app.outputs.present == 'true'
run: npm run lint
continue-on-error: true

- name: Build
if: steps.next-app.outputs.present == 'true'
run: npm run build
env:
NEXT_TELEMETRY_DISABLED: 1
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"schema_version": "1.0",
"source_class": "external_adjacent_phonon_context_report",
"checked_date": "2026-05-12",
"scope": "Adjacent phonon-context literature that may help the next A15 live capture pass without being promoted to canonical row evidence",
"materials": [
{
"material": "Nb3Sn",
"adjacent_sources": [
{
"title_or_doi": "10.1103/PhysRevB.19.4023",
"article_title": "Phonon dispersion in Nb3Sn",
"role": "adjacent phonon-context source",
"note": "This source appears useful for understanding specific softened phonon modes in Nb3Sn, but it is not the canonical table-layer source currently chosen for the benchmark-row phonon capture."
}
]
},
{
"material": "Nb3Ge",
"adjacent_sources": [
{
"title_or_doi": "IBM Research: Large anisotropic vibrational correlations in A15 Nb3Ge",
"article_title": "Large anisotropic vibrational correlations in A15 Nb3Ge",
"role": "adjacent phonon-context source",
"note": "This source appears useful for qualitative vibrational context in Nb3Ge, but it is not the canonical table-layer source currently chosen for the benchmark-row phonon capture."
}
]
}
],
"practical_result": "Adjacent phonon-context literature is now pinned for both A15 rows, which may help orient a future full-text pass if the canonical source remains difficult to capture, but these sources still do not replace the chosen canonical row-capture path.",
"claim_boundary": "This report holds search-guidance context only. It does not certify any numeric value and does not unblock patch review."
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
{
"schema_version": "1.0",
"source_class": "external_field_extraction_plan",
"source_role": "execution-ready field extraction plan for the A15 residual blocker pair",
"source_label": "A15 field extraction plan for Nb3Sn and Nb3Ge",
"checked_date": "2026-05-07",
"materials": [
{
"material": "Nb3Sn",
"steps": [
{
"order": 1,
"field": "Tc_observed",
"preferred_reference": "10.1103/PhysRev.95.1435",
"target_capture": [
"explicit Tc statement or row",
"table_or_figure_identifier or equivalent text locator",
"unit_basis = K"
],
"success_condition": "A repo-local archive entry can point to one exact Tc statement or row from the primary publication anchor."
},
{
"order": 2,
"field": "Theta_D_K_or_omega_log_K",
"preferred_reference": "10.1103/PhysRevB.27.1568",
"target_capture": [
"phonon-spectrum moment or omega_log style row if present",
"proxy convention note",
"unit_basis = K"
],
"success_condition": "One explicit phonon proxy convention is archived and can be named in topic review."
},
{
"order": 3,
"field": "lambda_ep",
"preferred_reference": "10.1016/0378-4363(84)90167-0",
"target_capture": [
"explicit lambda or e-ph parameter statement",
"locator for the lambda source row or text statement",
"compatibility note against the chosen phonon proxy convention"
],
"success_condition": "A lambda value or named coupling statement is archived from a source that is compatible with the chosen A15 proxy convention."
},
{
"order": 4,
"field": "mu_star",
"preferred_reference": null,
"target_capture": [
"row-specific source if available",
"otherwise explicit family-convention note"
],
"success_condition": "The review packet can say honestly whether mu_star is row-specific or retained as a family convention."
}
]
},
{
"material": "Nb3Ge",
"steps": [
{
"order": 1,
"field": "Tc_observed",
"preferred_reference": "10.1063/1.1654966",
"target_capture": [
"explicit Tc statement or row",
"table_or_figure_identifier or equivalent text locator",
"unit_basis = K"
],
"success_condition": "A repo-local archive entry can point to one exact Tc statement or row from the primary publication anchor."
},
{
"order": 2,
"field": "Theta_D_K_or_omega_log_K",
"preferred_reference": "10.1103/PhysRevB.27.1568",
"target_capture": [
"phonon-spectrum moment or omega_log style row if present",
"proxy convention note",
"unit_basis = K"
],
"success_condition": "One explicit phonon proxy convention is archived and can be named in topic review."
},
{
"order": 3,
"field": "lambda_ep",
"preferred_reference": "10.1016/0378-4363(84)90167-0",
"target_capture": [
"explicit lambda or e-ph parameter statement",
"locator for the lambda source row or text statement",
"compatibility note against the chosen phonon proxy convention"
],
"success_condition": "A lambda value or named coupling statement is archived from a source that is compatible with the chosen A15 proxy convention."
},
{
"order": 4,
"field": "mu_star",
"preferred_reference": null,
"target_capture": [
"row-specific source if available",
"otherwise explicit family-convention note"
],
"success_condition": "The review packet can say honestly whether mu_star is row-specific or retained as a family convention."
}
]
}
],
"claim_boundary": "This plan sequences extraction work only. It does not certify any captured value until the archive and topic handoff gates are passed."
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
"schema_version": "1.0",
"source_class": "external_pair_first_live_capture_target_packet",
"pair_label": "A15 residual blocker pair",
"checked_date": "2026-05-12",
"purpose": "Identify and track the single first live numeric capture target across the A15 pair without requiring the operator to reconstruct priority from multiple workflow files.",
"current_status": "first_live_capture_value_obtained_pending_review",
"selected_first_target": {
"material": "Nb3Sn",
"field": "Theta_D_K_or_omega_log_K",
"reason_for_selection": [
"Nb3Sn remains the strongest A15 shortcut candidate.",
"Its phonon field was the narrowest decisive blocker before the abstract-level lambda=1.5 capture could gain more practical weight, and it now has a provisional Table II value pending review.",
"The PRB source family already says phonon moments are tabulated and prefers omega_log-style interpretation over Debye temperature."
],
"execution_packet": "docs/data/external/condensed_matter/superconductivity/row_resolution_targets/nb3sn_phonon_first_numeric_execution_packet.json",
"critical_blocker_packet": "docs/data/external/condensed_matter/superconductivity/row_resolution_targets/nb3sn_phonon_critical_blocker_packet.json",
"numeric_capture_record": "docs/data/external/condensed_matter/superconductivity/row_resolution_targets/nb3sn/phonon_numeric_capture_record.json",
"acceptance_gate": "docs/data/external/condensed_matter/superconductivity/row_resolution_targets/nb3sn_phonon_capture_acceptance_gate.json",
"live_capture_attempt_template": "docs/data/external/condensed_matter/superconductivity/row_resolution_targets/nb3sn_phonon_live_capture_attempt_template.json",
"live_capture_bundle": "docs/data/external/condensed_matter/superconductivity/row_resolution_targets/nb3sn_phonon_live_capture_bundle.json"
},
"what_success_looks_like": [
"One row-specific phonon numeric value is captured for Nb3Sn; this is now provisionally satisfied by Nb3Sn I omega_log=127 K from Table II.",
"The capture records archived_raw_path, locator fields, quoted text, and unit basis.",
"The capture explicitly states whether the accepted proxy is omega_log or another phonon moment.",
"The downstream Nb3Sn lambda=1.5 abstract capture can then be reviewed against a resolved same-family phonon convention."
],
"what_not_to_do": [
"Do not treat abstract-only convention text as if it were the phonon numeric capture.",
"Do not promote the abstract-level lambda value to row-usable status before the Nb3Sn phonon convention is resolved.",
"Do not skip to Nb3Ge lambda before the first Nb3Sn phonon pass is attempted."
],
"claim_boundary": "This packet records that the first live capture target has produced a provisional value. It does not certify that value as benchmark-ready and does not unblock patch review by itself."
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
{
"schema_version": "1.0",
"source_class": "external_fulltext_table_target_map",
"source_role": "maps the most likely full-text table or section targets for the next A15 numeric extraction pass",
"source_label": "A15 full-text table target map",
"checked_date": "2026-05-11",
"materials": [
{
"material": "Nb3Sn",
"targets": [
{
"field": "Tc_observed",
"source_title_or_doi": "10.1103/PhysRev.95.1435",
"host_layer": "APS abstract and full article",
"target_section_hint": "Abstract first, then discovery discussion or measurement summary in full text",
"why_this_section": "The abstract already exposes the Tc statement; the full-text pass should now confirm exact page context and row identity."
},
{
"field": "Theta_D_K_or_omega_log_K",
"source_title_or_doi": "10.1103/PhysRevB.27.1568",
"host_layer": "OSTI summary and full PRB article",
"target_section_hint": "Tables or sections containing experimentally determined moments of the phonon spectra, especially omega_log, because the abstract says these values are tabulated",
"why_this_section": "The primary-host abstract explicitly says phonon-spectrum moments including omega_log are included and tabulated, and also says Debye temperature is generally a bad estimate of omega_log."
},
{
"field": "lambda_ep",
"source_title_or_doi": "10.1016/0378-4363(84)90167-0",
"host_layer": "ScienceDirect abstract and full article",
"target_section_hint": "Sections, tables, or figures reporting alpha^2F(omega), full phonon dispersion, or explicit lambda values for Nb3Sn",
"why_this_section": "The abstract confirms that Nb3Sn-specific electron-phonon calculations and lambda are present, so the next pass should target the numeric presentation layer."
}
]
},
{
"material": "Nb3Ge",
"targets": [
{
"field": "Tc_observed",
"source_title_or_doi": "10.1063/1.1654966",
"host_layer": "Publication record and full article",
"target_section_hint": "Summary statement first, then the film or sample description in full text",
"why_this_section": "The record layer already exposes the 22.3 K statement; the full-text pass should now confirm page context and sample identity."
},
{
"field": "Theta_D_K_or_omega_log_K",
"source_title_or_doi": "10.1103/PhysRevB.27.1568",
"host_layer": "OSTI summary and full PRB article",
"target_section_hint": "Tables or sections containing experimentally determined moments of the phonon spectra, especially omega_log, because the abstract says these values are tabulated",
"why_this_section": "The same A15 phonon-spectrum source should be checked for Nb3Ge row-level moments once the full table is visible, because the primary-host abstract says the moments are tabulated."
},
{
"field": "lambda_ep",
"source_title_or_doi": "10.1016/0378-4363(84)90167-0",
"host_layer": "ScienceDirect abstract and full article",
"target_section_hint": "Sections, tables, or figures reporting alpha^2F(omega), full phonon dispersion, or explicit lambda values for Nb3Ge",
"why_this_section": "The abstract confirms that Nb3Ge-specific electron-phonon calculations and lambda are present, so the next pass should target the numeric presentation layer."
}
]
}
],
"claim_boundary": "This map only narrows where to look in full text. It does not certify any value until a row-specific capture is archived."
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"schema_version": "1.0",
"source_class": "external_pair_lambda_abstract_numeric_review_packet",
"pair_label": "A15 residual blocker pair",
"checked_date": "2026-05-12",
"purpose": "Summarize what the newly captured A15 abstract-level lambda numerics do and do not resolve before any row-level patch review is allowed.",
"source_anchor": {
"article_title": "The phonons in high Tc A15 compounds",
"source_title_or_doi": "10.1016/0378-4363(84)90167-0",
"journal_citation": "Physica B+C 126(1-3), 217-228",
"host_layer": "ScienceDirect primary-host abstract text"
},
"materials": [
{
"material": "Nb3Sn",
"working_lambda_ep": 1.8,
"abstract_lambda_ep": 1.5,
"difference_direction": "external_lower_than_working_row",
"compatibility_state": "same_family_numeric_signal_present_but_not_row_usable",
"interpretation": "The abstract-level value is close enough to keep the row in the same strong-coupling family, but the new Nb3Sn omega_log sensitivity review shows that lambda=1.5 should not be promoted by itself; stronger archival support and convention review are still required."
},
{
"material": "Nb3Ge",
"working_lambda_ep": 2.1,
"abstract_lambda_ep": 1.9,
"difference_direction": "external_lower_than_working_row",
"compatibility_state": "same_family_numeric_signal_present_but_not_row_usable",
"interpretation": "The abstract-level value is again close enough to keep the row in the same strong-coupling family, but it still cannot settle the benchmark row until the phonon convention is fixed and stronger archival support is attached."
}
],
"shared_unresolved_conditions": [
"Nb3Sn has a provisional Table II omega_log capture, but it is not row-usable until sample-choice, repo archive, and same-family review are complete; Nb3Ge still lacks a row-specific phonon numeric capture.",
"Neither row has a raw-page or table-level lambda capture with archived_raw_path and row locator.",
"The pair still needs same-family review to show that the abstract-level lambda values are compatible with the phonon convention chosen for the benchmark rows."
],
"practical_result": "The A15 pair now has source-family-consistent lambda numerics at abstract level, which is stronger than support-only text and stronger than weak secondary hints, but still not enough to unblock patch review.",
"claim_boundary": "This review packet records abstract-level numeric compatibility only. It does not certify row edits and does not change the FAIL status of the raw McMillan baseline."
}
Loading
Loading