medsci-skills 5.26.0 → 5.26.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5468,8 +5468,8 @@
5468
5468
  },
5469
5469
  {
5470
5470
  "path": "skills/sync-submission/SKILL.md",
5471
- "size": 40770,
5472
- "sha256": "016b88b1d495a094104d7154724632178751f843623683fb8ebe447735ff5557"
5471
+ "size": 40790,
5472
+ "sha256": "45b228823952b028f0ec8160cd3e457f95b37a0a8fe692a09349a49d1e91054a"
5473
5473
  },
5474
5474
  {
5475
5475
  "path": "skills/sync-submission/references/journal_availability_policy.json",
@@ -5828,8 +5828,8 @@
5828
5828
  },
5829
5829
  {
5830
5830
  "path": "skills/verify-refs/scripts/verify_refs.py",
5831
- "size": 49238,
5832
- "sha256": "5e631278ab1b38960d6ba1865cc360855fb2d600024fb67a8e3a9c5a82d5ba9c"
5831
+ "size": 49027,
5832
+ "sha256": "289a91883045bbc38d8e16f65d3e858a106edbb3413ecf6e2d723f353b733362"
5833
5833
  },
5834
5834
  {
5835
5835
  "path": "skills/verify-refs/skill.yml",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schema_version": 1,
3
- "version": "5.26.0",
3
+ "version": "5.26.1",
4
4
  "owned_skills": [
5
5
  "academic-aio",
6
6
  "add-journal",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "medsci-skills",
3
- "version": "5.26.0",
3
+ "version": "5.26.1",
4
4
  "description": "MedSci Skills — a medical/scientific research skill suite for AI coding agents (Claude Code, Codex, Cursor, Copilot). The npm package is a terminal-friendly installer shortcut; the canonical distribution remains the GitHub repository and the Claude Code plugin marketplace.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "homepage": "https://github.com/Aperivue/medsci-skills#readme",
@@ -1,24 +1,21 @@
1
1
  # Abstract
2
2
 
3
- We report a cohort study. Baseline characteristics are summarized later.
3
+ This is a synthetic document for testing citation order.
4
4
 
5
5
  # Methods
6
6
 
7
- The reference tier had zero events by design and enters Table 3 descriptively.
8
- Number-at-risk tables are provided in Table S4, and the endpoint decomposition in
9
- Table S9. Baseline characteristics by alternative strata appear in Table S16.
7
+ The planned groups are listed in Table 4. Additional setup information is in
8
+ Table S3, and the variable glossary is in Table S1. The example protocol is in Table S8.
10
9
 
11
10
  # Results
12
11
 
13
- Of the cohort, the eligible adults are described in Table 1; tier-specific rates
14
- use the denominator roadmap in Table 2. The discrimination metrics are in Table S12,
15
- and the exploratory model in Table S6. Five-year incidences are in Table 3, and the
16
- landmark model in Table 4. The returner comparison is in Table S2.
12
+ Group summaries appear in Table 2 and Table 1. Further summaries are in Table S2
13
+ and Table S6. The final comparison appears in Table 3, with an example in Table S4.
17
14
 
18
15
  # Discussion
19
16
 
20
- The gradient held across sensitivity analyses S1 through S6 (these are analysis-plan
21
- labels, not supplementary tables). Schematic in Supplementary Figure S1.
17
+ Sensitivity analyses S1 through S6 are analysis-plan labels, not supplementary tables.
18
+ The schematic appears in Supplementary Figure S1.
22
19
 
23
20
  # References
24
21
 
@@ -26,6 +23,6 @@ labels, not supplementary tables). Schematic in Supplementary Figure S1.
26
23
 
27
24
  # Figure Legends
28
25
 
29
- **Figure 1.** Cohort flow.
26
+ **Figure 1.** Synthetic flow diagram.
30
27
 
31
- **Figure 2.** Tier-stratified curves; numbers at risk in Table S4.
28
+ **Figure 2.** Example comparison; additional details in Table S3.
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env bash
2
2
  # Regression test for the float citation-ORDER gate (journal technical-check pass).
3
- # Synthetic, PII-free fixtures: a manuscript whose main Tables (3,1,2,4) and
4
- # supplementary Tables (S4,S9,S16,S12,S6,S2) are cited out of numerical order, and
3
+ # Synthetic, PII-free fixtures: a manuscript whose main Tables (4,2,1,3) and
4
+ # supplementary Tables (S3,S1,S8,S2,S6,S4) are cited out of numerical order, and
5
5
  # a clean manuscript where every series is cited in ascending order (incl. a plural
6
6
  # list "Tables S4, S5", a back-matter legends block that must be excluded, and a
7
7
  # non-float "S1 through S6" sensitivity label that must NOT be parsed as tables).
@@ -261,18 +261,18 @@ Body words are matched with a 5% tolerance ("approximately N words"
261
261
  phrasing). Abstract words tolerate ±5. Reference / table / figure counts
262
262
  require exact match.
263
263
 
264
- Output `qc/cover_letter_drift.json`:
264
+ Example `qc/cover_letter_drift.json` (synthetic values):
265
265
 
266
266
  ```json
267
267
  {
268
268
  "submission_safe": false,
269
- "truth": {"body_words": 3036, "abstract_words": 319, "references": 12,
269
+ "truth": {"body_words": 2400, "abstract_words": 210, "references": 10,
270
270
  "tables": 3, "figures": 4},
271
- "claims": {"body_words": 3790, "abstract_words": 250, "references": 12},
271
+ "claims": {"body_words": 2800, "abstract_words": 250, "references": 10},
272
272
  "drifts": [
273
- {"field": "body_words", "truth": 3036, "cover_letter_claim": 3790,
273
+ {"field": "body_words", "truth": 2400, "cover_letter_claim": 2800,
274
274
  "severity": "MAJOR",
275
- "note": "|claim - truth| = 754 > tolerance 151"}
275
+ "note": "|claim - truth| = 400 > tolerance 120"}
276
276
  ]
277
277
  }
278
278
  ```
@@ -735,8 +735,7 @@ def author_cross_check(
735
735
  Returns ``(mismatches, notes)``: ``mismatches`` — human-readable mismatch strings
736
736
  (empty = clean); ``notes`` — non-mismatch evidence strings (the truncation note).
737
737
  This is the sole decision surface behind an AUTHOR MISMATCH status, extracted so
738
- the fabricated-co-author path (a real AI-assembled bib once registered 7 of 10
739
- fabricated co-author names) has a network-free regression test
738
+ the fabricated-co-author path has a network-free regression test
740
739
  (``tests/test_fabricated_author.sh``). Behaviour is identical to the inline logic
741
740
  it replaced in ``verify_record``.
742
741
  """
@@ -786,7 +785,7 @@ def verify_record(record: RefRecord, offline: bool, timeout: int,
786
785
  1. PubMed efetch (XML full-record) — best (motivation: CrossRef returned a
787
786
  wrong given name "Vasileios" vs PubMed efetch authoritative "Victoria";
788
787
  also catches AI-generated bib entries with hallucinated #2..#N family
789
- names — a real AI-assembled bib registered 7 of 10 fabricated co-author names).
788
+ names).
790
789
  2. CrossRef DOI (fallback when no PMID).
791
790
  3. OpenAlex (tertiary; conference proceedings / non-DOI / non-biomedical works
792
791
  that PubMed and CrossRef miss — the free analogue of a portal's Scopus pass).
@@ -1037,8 +1036,7 @@ def write_outputs(records: list[RefRecord], project_root: Path, source: Path,
1037
1036
  v1.3.0 (2026-05): full-author cross-check. records[] now carry cited_authors[],
1038
1037
  actual_authors[], and author counts; schema_version bumps to 4. MISMATCH now
1039
1038
  fires on any #2..#N family hallucination or author-count mismatch, not just the
1040
- first author (motivation: a bib entry with a real first author but 7/10
1041
- fabricated co-author given names previously passed audit).
1039
+ first author. A correct lead author does not verify the remaining author list.
1042
1040
  """
1043
1041
  qc_dir = project_root / "qc"
1044
1042
  qc_dir.mkdir(parents=True, exist_ok=True)
@@ -3,9 +3,8 @@
3
3
  #
4
4
  # author_cross_check() is the sole decision surface behind an AUTHOR MISMATCH status
5
5
  # (family-by-family + author-count). It is the repo's most trust-critical citation
6
- # check: a real AI-assembled bib once registered 7 of 10 fabricated co-author names
7
- # with a correct first author + DOI, and only the family/count cross-check catches
8
- # that. This test locks the logic so a refactor cannot silently drop the MISMATCH
6
+ # check: a correct first author and DOI can coexist with fabricated co-author
7
+ # names. This test locks the logic so a refactor cannot silently drop the MISMATCH
9
8
  # path. Stdlib-only, no network (the pure function is tested in isolation, so no
10
9
  # PubMed/CrossRef/OpenAlex call is made).
11
10
  set -u