mirror of
https://github.com/lllin000/PaperForge.git
synced 2026-07-22 06:50:53 +00:00
P0: - Fix 2: _ref_number_sort_key handles [N] bracket format (ocr_render.py:481) - Fix 4: remove figure_caption from _INSERT_CANDIDATE_ROLES (ocr_document.py:3846) - Fix 5: filter demoted body_paragraph from figure legends (ocr_figures.py:2950) P1: - figure containment render-hygiene pass after table inventory writeback - 6 helpers: _cluster_bboxes_by_proximity, _is_contained, _highly_overlaps_any_matched_region, _figure_region_bbox, _matched_asset_keys, tag_figure_contained_text - Wire call site in postprocess_ocr_result() (ocr.py:1891) Infra: - Sync workspace fulltext after rebuild (asset_index.py) - Fix UnboundLocalError on index-refresh (sync_service.py) - Add missing frontmatter fields to field registry (field_registry.yaml) - 283 + 19 = 302 tests passing
446 lines
9.1 KiB
YAML
446 lines
9.1 KiB
YAML
frontmatter:
|
|
aliases:
|
|
type: list
|
|
required: false
|
|
public: true
|
|
description: "Obsidian wikilink aliases"
|
|
owner: obsidian
|
|
introduced_in: "1.5"
|
|
tags:
|
|
type: list
|
|
required: false
|
|
public: true
|
|
description: "Obsidian tags"
|
|
owner: obsidian
|
|
introduced_in: "1.5"
|
|
journal:
|
|
type: str
|
|
required: false
|
|
public: true
|
|
description: "Journal name"
|
|
owner: sync
|
|
introduced_in: "1.0"
|
|
first_author:
|
|
type: str
|
|
required: false
|
|
public: true
|
|
description: "First author name"
|
|
owner: sync
|
|
introduced_in: "1.0"
|
|
pmid:
|
|
type: str
|
|
required: false
|
|
public: true
|
|
description: "PubMed ID"
|
|
owner: sync
|
|
introduced_in: "1.0"
|
|
impact_factor:
|
|
type: str
|
|
required: false
|
|
public: true
|
|
description: "Journal impact factor"
|
|
owner: sync
|
|
introduced_in: "1.0"
|
|
abstract:
|
|
type: str
|
|
required: false
|
|
public: true
|
|
description: "Paper abstract"
|
|
owner: sync
|
|
introduced_in: "1.0"
|
|
keywords:
|
|
type: list
|
|
required: false
|
|
public: true
|
|
description: "Paper keywords"
|
|
owner: sync
|
|
introduced_in: "1.0"
|
|
ocr_time:
|
|
type: str
|
|
required: false
|
|
public: false
|
|
description: "OCR completion timestamp"
|
|
owner: ocr
|
|
introduced_in: "2.1"
|
|
zotero_key:
|
|
type: str
|
|
required: true
|
|
public: true
|
|
description: "Zotero citation key"
|
|
owner: sync
|
|
introduced_in: "1.0"
|
|
citation_key:
|
|
type: str
|
|
required: false
|
|
public: true
|
|
description: "Better BibTeX citation key (e.g. aaronStimulationGrowthFactor2004)"
|
|
owner: sync
|
|
introduced_in: "1.5"
|
|
domain:
|
|
type: str
|
|
required: true
|
|
public: true
|
|
description: "Classification domain"
|
|
owner: sync
|
|
introduced_in: "1.0"
|
|
title:
|
|
type: str
|
|
required: true
|
|
public: true
|
|
description: "Paper title"
|
|
owner: sync
|
|
introduced_in: "1.0"
|
|
year:
|
|
type: str
|
|
required: false
|
|
public: true
|
|
description: "Publication year"
|
|
owner: sync
|
|
introduced_in: "1.0"
|
|
doi:
|
|
type: str
|
|
required: false
|
|
public: true
|
|
description: "Digital Object Identifier"
|
|
owner: sync
|
|
introduced_in: "1.0"
|
|
collection_path:
|
|
type: list
|
|
required: false
|
|
public: true
|
|
description: "Zotero collection paths (YAML list of full paths)"
|
|
owner: sync
|
|
introduced_in: "1.5.5"
|
|
collection_tags:
|
|
type: list
|
|
required: false
|
|
public: true
|
|
description: "Zotero collection tag segments (split by /, no duplicates)"
|
|
owner: sync
|
|
introduced_in: "1.5.5"
|
|
has_pdf:
|
|
type: bool
|
|
required: true
|
|
public: true
|
|
description: "Has PDF attachment (DEPRECATED)"
|
|
owner: sync
|
|
deprecated: true
|
|
replacement: lifecycle
|
|
introduced_in: "1.0"
|
|
pdf_path:
|
|
type: str
|
|
required: false
|
|
public: true
|
|
description: "Wikilink to main PDF"
|
|
owner: sync
|
|
introduced_in: "1.0"
|
|
supplementary:
|
|
type: list
|
|
required: false
|
|
public: true
|
|
description: "Wikilinks to supplementary PDFs"
|
|
owner: sync
|
|
introduced_in: "1.0"
|
|
fulltext_md_path:
|
|
type: str
|
|
required: false
|
|
public: true
|
|
description: "Wikilink to OCR fulltext"
|
|
owner: ocr
|
|
introduced_in: "1.0"
|
|
recommend_analyze:
|
|
type: bool
|
|
required: false
|
|
public: true
|
|
description: "System recommends analysis (DEPRECATED)"
|
|
owner: sync
|
|
deprecated: true
|
|
replacement: lifecycle
|
|
introduced_in: "1.0"
|
|
analyze:
|
|
type: bool
|
|
required: false
|
|
public: true
|
|
description: "User requests deep reading"
|
|
owner: user
|
|
introduced_in: "1.0"
|
|
do_ocr:
|
|
type: bool
|
|
required: false
|
|
public: true
|
|
description: "User requests OCR (DEPRECATED)"
|
|
owner: user
|
|
deprecated: true
|
|
replacement: ocr_status
|
|
introduced_in: "1.0"
|
|
ocr_status:
|
|
type: enum
|
|
values:
|
|
- none
|
|
- pending
|
|
- queued
|
|
- processing
|
|
- done
|
|
- done_incomplete
|
|
- failed
|
|
- blocked
|
|
- nopdf
|
|
required: false
|
|
public: true
|
|
description: "OCR processing status"
|
|
owner: ocr
|
|
default: "none"
|
|
introduced_in: "2.1"
|
|
ocr_redo:
|
|
type: bool
|
|
required: false
|
|
public: true
|
|
description: "User requests OCR redo"
|
|
owner: user
|
|
introduced_in: "1.5.14"
|
|
deep_reading_status:
|
|
type: enum
|
|
values:
|
|
- pending
|
|
- done
|
|
required: false
|
|
public: true
|
|
description: "Deep reading status"
|
|
owner: deep_reading
|
|
default: "pending"
|
|
introduced_in: "1.0"
|
|
path_error:
|
|
type: str
|
|
required: false
|
|
public: true
|
|
description: "Path resolution error"
|
|
owner: sync
|
|
introduced_in: "1.0"
|
|
|
|
index_entry:
|
|
file:
|
|
type: str
|
|
required: true
|
|
public: true
|
|
description: "Path to formal note"
|
|
owner: index
|
|
introduced_in: "2.1"
|
|
zotero_key:
|
|
type: str
|
|
required: true
|
|
public: true
|
|
description: "Zotero citation key"
|
|
owner: index
|
|
introduced_in: "2.1"
|
|
domain:
|
|
type: str
|
|
required: true
|
|
public: true
|
|
description: "Classification domain"
|
|
owner: index
|
|
introduced_in: "2.1"
|
|
title:
|
|
type: str
|
|
required: true
|
|
public: true
|
|
description: "Paper title"
|
|
owner: index
|
|
introduced_in: "2.1"
|
|
year:
|
|
type: str
|
|
required: false
|
|
public: true
|
|
description: "Publication year"
|
|
owner: index
|
|
introduced_in: "2.1"
|
|
doi:
|
|
type: str
|
|
required: false
|
|
public: true
|
|
description: "DOI"
|
|
owner: index
|
|
introduced_in: "2.1"
|
|
collection_path:
|
|
type: list
|
|
required: false
|
|
public: true
|
|
description: "Zotero collection paths (YAML list of full paths)"
|
|
owner: index
|
|
introduced_in: "1.5.5"
|
|
collection_tags:
|
|
type: list
|
|
required: false
|
|
public: true
|
|
description: "Zotero collection tag segments (split by /, no duplicates)"
|
|
owner: index
|
|
introduced_in: "1.5.5"
|
|
has_pdf:
|
|
type: bool
|
|
required: true
|
|
public: true
|
|
description: "Has PDF (DEPRECATED)"
|
|
owner: index
|
|
deprecated: true
|
|
replacement: lifecycle
|
|
introduced_in: "2.1"
|
|
pdf_path:
|
|
type: str
|
|
required: false
|
|
public: true
|
|
description: "PDF path"
|
|
owner: index
|
|
introduced_in: "2.1"
|
|
supplementary:
|
|
type: list
|
|
required: false
|
|
public: true
|
|
description: "Supplementary PDFs"
|
|
owner: index
|
|
introduced_in: "2.1"
|
|
fulltext_md_path:
|
|
type: str
|
|
required: false
|
|
public: true
|
|
description: "Fulltext path"
|
|
owner: index
|
|
introduced_in: "2.1"
|
|
recommend_analyze:
|
|
type: bool
|
|
required: false
|
|
public: true
|
|
description: "Recommend analysis (DEPRECATED)"
|
|
owner: index
|
|
deprecated: true
|
|
replacement: lifecycle
|
|
introduced_in: "2.1"
|
|
analyze:
|
|
type: bool
|
|
required: false
|
|
public: true
|
|
description: "Analysis flag"
|
|
owner: index
|
|
introduced_in: "2.1"
|
|
do_ocr:
|
|
type: bool
|
|
required: false
|
|
public: true
|
|
description: "OCR flag (DEPRECATED)"
|
|
owner: index
|
|
deprecated: true
|
|
replacement: ocr_status
|
|
introduced_in: "2.1"
|
|
ocr_status:
|
|
type: enum
|
|
values:
|
|
- none
|
|
- pending
|
|
- queued
|
|
- processing
|
|
- done
|
|
- done_incomplete
|
|
- failed
|
|
- blocked
|
|
- nopdf
|
|
required: false
|
|
public: true
|
|
description: "OCR status"
|
|
owner: index
|
|
introduced_in: "2.1"
|
|
deep_reading_status:
|
|
type: enum
|
|
values:
|
|
- pending
|
|
- done
|
|
required: false
|
|
public: true
|
|
description: "Deep reading status"
|
|
owner: index
|
|
introduced_in: "2.1"
|
|
path_error:
|
|
type: str
|
|
required: false
|
|
public: true
|
|
description: "Path error"
|
|
owner: index
|
|
introduced_in: "2.1"
|
|
lifecycle:
|
|
type: enum
|
|
values:
|
|
- pdf_ready
|
|
- ocr_ready
|
|
- analyze_ready
|
|
- deep_read_done
|
|
- error_state
|
|
required: false
|
|
public: true
|
|
description: "Derived lifecycle stage"
|
|
owner: index
|
|
introduced_in: "2.1"
|
|
health:
|
|
type: dict
|
|
required: false
|
|
public: true
|
|
description: "Derived health dimension scores (dict: pdf_health, ocr_health, note_health, asset_health)"
|
|
owner: index
|
|
introduced_in: "2.1"
|
|
maturity:
|
|
type: str
|
|
required: false
|
|
public: true
|
|
description: "Derived maturity score"
|
|
owner: index
|
|
introduced_in: "2.1"
|
|
next_step:
|
|
type: str
|
|
required: false
|
|
public: true
|
|
description: "Recommended next action"
|
|
owner: index
|
|
introduced_in: "2.1"
|
|
|
|
ocr_meta:
|
|
ocr_status:
|
|
type: enum
|
|
values:
|
|
- none
|
|
- pending
|
|
- queued
|
|
- processing
|
|
- done
|
|
- done_incomplete
|
|
- failed
|
|
- blocked
|
|
- nopdf
|
|
required: true
|
|
public: true
|
|
description: "OCR processing status"
|
|
owner: ocr
|
|
introduced_in: "2.1"
|
|
error:
|
|
type: str
|
|
required: false
|
|
public: true
|
|
description: "Error message if failed"
|
|
owner: ocr
|
|
introduced_in: "1.0"
|
|
start_time:
|
|
type: str
|
|
required: false
|
|
public: false
|
|
description: "OCR start timestamp"
|
|
owner: ocr
|
|
introduced_in: "1.0"
|
|
completion_time:
|
|
type: str
|
|
required: false
|
|
public: false
|
|
description: "OCR completion timestamp"
|
|
owner: ocr
|
|
introduced_in: "1.0"
|
|
page_count:
|
|
type: int
|
|
required: false
|
|
public: false
|
|
description: "Number of pages processed"
|
|
owner: ocr
|
|
introduced_in: "1.0"
|