Skip to content

Commit bf2a0bd

Browse files
pwt-cdclaude
andcommitted
FIX: Complete LaTeX Unicode and package errors resolution
- Add -shell-escape flag to pdflatex in release workflow for minted package - Remove problematic Unicode emoji characters (🗂️) from all .tex files - Replace Unicode mathematical symbols (≤, ≥) with LaTeX commands (\leq, \geq) - Fix 'Unicode character not set up for use with LaTeX' errors - Fix 'You must invoke LaTeX with the -shell-escape flag' minted error Verified: LaTeX now builds successfully generating 68-page PDF locally All Unicode compilation errors resolved for CI/CD environment 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
1 parent fbf9bed commit bf2a0bd

27 files changed

+246
-100
lines changed

.github/workflows/release.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -201,9 +201,9 @@ jobs:
201201
echo "Building PDF from LaTeX source..."
202202
203203
# Run LaTeX build (3 passes for references)
204-
pdflatex -interaction=nonstopmode boost-spec.tex
205-
pdflatex -interaction=nonstopmode boost-spec.tex
206-
pdflatex -interaction=nonstopmode boost-spec.tex
204+
pdflatex -shell-escape -interaction=nonstopmode boost-spec.tex
205+
pdflatex -shell-escape -interaction=nonstopmode boost-spec.tex
206+
pdflatex -shell-escape -interaction=nonstopmode boost-spec.tex
207207
208208
if [ -f "boost-spec.pdf" ]; then
209209
echo "✅ PDF generated from LaTeX: boost-spec.pdf"

CHANGELOG.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,27 @@
22

33
All notable changes to the BOOST data standard are documented in this file.
44

5+
## [3.0.6] - 2025-08-12 - Complete LaTeX Build Fixes
6+
7+
### Fixed
8+
- **LaTeX Compilation Errors** - Resolved all remaining LaTeX build issues in CI environment
9+
- **release.yml**: Added `-shell-escape` flag to pdflatex commands for minted package compatibility
10+
- **tex files**: Removed problematic Unicode emoji characters (🗂️) that caused LaTeX errors
11+
- **tex files**: Replaced Unicode mathematical symbols (≤, ≥) with proper LaTeX commands (\leq, \geq)
12+
- **Minted package**: Fixed "You must invoke LaTeX with the -shell-escape flag" error
13+
- **Unicode support**: Fixed "Unicode character not set up for use with LaTeX" errors
14+
- **PDF Generation Reliability** - LaTeX now builds successfully generating 68-page PDF
15+
- Verified locally with pdflatex -shell-escape -interaction=nonstopmode boost-spec.tex
16+
- All Unicode characters properly converted to LaTeX-compatible format
17+
- Mathematical symbols now render correctly in PDF output
18+
19+
### Technical Improvements
20+
- **CI/CD Compatibility** - LaTeX build process now fully compatible with containerized environment
21+
- **Character Encoding** - Systematic removal of problematic Unicode characters from all .tex files
22+
- **Mathematical Notation** - Proper LaTeX mathematical symbol usage throughout documentation
23+
24+
*These fixes ensure reliable PDF generation in both local and CI environments without Unicode or package errors.*
25+
526
## [3.0.5] - 2025-08-12 - LaTeX Build Fixes and Name Standardization
627

728
### Fixed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
\begin{MintedVerbatim}[commandchars=\\\{\}]
2+
\PYG{p}{\PYGZob{}}
3+
\PYG{+w}{ }\PYG{n+nt}{\PYGZdq{}@context\PYGZdq{}}\PYG{p}{:}\PYG{+w}{ }\PYG{l+s+s2}{\PYGZdq{}https://boost\PYGZhy{}standard.org/context.jsonld\PYGZdq{}}\PYG{p}{,}
4+
\PYG{+w}{ }\PYG{n+nt}{\PYGZdq{}@type\PYGZdq{}}\PYG{p}{:}\PYG{+w}{ }\PYG{l+s+s2}{\PYGZdq{}TraceableUnit\PYGZdq{}}\PYG{p}{,}
5+
\PYG{+w}{ }\PYG{n+nt}{\PYGZdq{}@id\PYGZdq{}}\PYG{p}{:}\PYG{+w}{ }\PYG{l+s+s2}{\PYGZdq{}https://example.com/tru/TRU\PYGZhy{}001\PYGZdq{}}\PYG{p}{,}
6+
\PYG{+w}{ }\PYG{n+nt}{\PYGZdq{}traceableUnitId\PYGZdq{}}\PYG{p}{:}\PYG{+w}{ }\PYG{l+s+s2}{\PYGZdq{}TRU\PYGZhy{}FOREST\PYGZhy{}001\PYGZdq{}}\PYG{p}{,}
7+
\PYG{+w}{ }\PYG{n+nt}{\PYGZdq{}unitType\PYGZdq{}}\PYG{p}{:}\PYG{+w}{ }\PYG{l+s+s2}{\PYGZdq{}pile\PYGZdq{}}\PYG{p}{,}
8+
\PYG{+w}{ }\PYG{n+nt}{\PYGZdq{}uniqueIdentifier\PYGZdq{}}\PYG{p}{:}\PYG{+w}{ }\PYG{l+s+s2}{\PYGZdq{}BIOMETRIC\PYGZhy{}SIGNATURE\PYGZhy{}ABC123\PYGZdq{}}\PYG{p}{,}
9+
\PYG{+w}{ }\PYG{n+nt}{\PYGZdq{}totalVolumeM3\PYGZdq{}}\PYG{p}{:}\PYG{+w}{ }\PYG{l+m+mf}{125.5}\PYG{p}{,}
10+
\PYG{+w}{ }\PYG{n+nt}{\PYGZdq{}materialTypeId\PYGZdq{}}\PYG{p}{:}\PYG{+w}{ }\PYG{l+s+s2}{\PYGZdq{}MAT\PYGZhy{}DOUGLAS\PYGZhy{}FIR\PYGZhy{}SAWLOG\PYGZdq{}}\PYG{p}{,}
11+
\PYG{+w}{ }\PYG{n+nt}{\PYGZdq{}isMultiSpecies\PYGZdq{}}\PYG{p}{:}\PYG{+w}{ }\PYG{k+kc}{false}\PYG{p}{,}
12+
\PYG{+w}{ }\PYG{n+nt}{\PYGZdq{}harvesterId\PYGZdq{}}\PYG{p}{:}\PYG{+w}{ }\PYG{l+s+s2}{\PYGZdq{}ORG\PYGZhy{}PACIFIC\PYGZhy{}FOREST\PYGZdq{}}\PYG{p}{,}
13+
\PYG{+w}{ }\PYG{n+nt}{\PYGZdq{}currentGeographicDataId\PYGZdq{}}\PYG{p}{:}\PYG{+w}{ }\PYG{l+s+s2}{\PYGZdq{}GEO\PYGZhy{}MILL\PYGZhy{}YARD\PYGZhy{}07\PYGZdq{}}
14+
\PYG{p}{\PYGZcb{}}
15+
\end{MintedVerbatim}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"jobname": "boost-spec",
3+
"md5": "DF2D2284E5DDF3ACE57368A6329D0D44",
4+
"timestamp": "20250812101616",
5+
"cachefiles": [
6+
"D6743D581AE8C9546EE754D4F7C07EEA.highlight.minted",
7+
"_DF2D2284E5DDF3ACE57368A6329D0D44.index.minted",
8+
"default.style.minted"
9+
]
10+
}
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
\makeatletter
2+
\def\PYG@reset{\let\PYG@it=\relax \let\PYG@bf=\relax%
3+
\let\PYG@ul=\relax \let\PYG@tc=\relax%
4+
\let\PYG@bc=\relax \let\PYG@ff=\relax}
5+
\def\PYG@tok#1{\csname PYG@tok@#1\endcsname}
6+
\def\PYG@toks#1+{\ifx\relax#1\empty\else%
7+
\PYG@tok{#1}\expandafter\PYG@toks\fi}
8+
\def\PYG@do#1{\PYG@bc{\PYG@tc{\PYG@ul{%
9+
\PYG@it{\PYG@bf{\PYG@ff{#1}}}}}}}
10+
\def\PYG#1#2{\PYG@reset\PYG@toks#1+\relax+\PYG@do{#2}}
11+
12+
\@namedef{PYG@tok@w}{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.73,0.73}{##1}}}
13+
\@namedef{PYG@tok@c}{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.24,0.48,0.48}{##1}}}
14+
\@namedef{PYG@tok@cp}{\def\PYG@tc##1{\textcolor[rgb]{0.61,0.40,0.00}{##1}}}
15+
\@namedef{PYG@tok@k}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
16+
\@namedef{PYG@tok@kp}{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
17+
\@namedef{PYG@tok@kt}{\def\PYG@tc##1{\textcolor[rgb]{0.69,0.00,0.25}{##1}}}
18+
\@namedef{PYG@tok@o}{\def\PYG@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
19+
\@namedef{PYG@tok@ow}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.67,0.13,1.00}{##1}}}
20+
\@namedef{PYG@tok@nb}{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
21+
\@namedef{PYG@tok@nf}{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
22+
\@namedef{PYG@tok@nc}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
23+
\@namedef{PYG@tok@nn}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
24+
\@namedef{PYG@tok@ne}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.80,0.25,0.22}{##1}}}
25+
\@namedef{PYG@tok@nv}{\def\PYG@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
26+
\@namedef{PYG@tok@no}{\def\PYG@tc##1{\textcolor[rgb]{0.53,0.00,0.00}{##1}}}
27+
\@namedef{PYG@tok@nl}{\def\PYG@tc##1{\textcolor[rgb]{0.46,0.46,0.00}{##1}}}
28+
\@namedef{PYG@tok@ni}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.44,0.44,0.44}{##1}}}
29+
\@namedef{PYG@tok@na}{\def\PYG@tc##1{\textcolor[rgb]{0.41,0.47,0.13}{##1}}}
30+
\@namedef{PYG@tok@nt}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
31+
\@namedef{PYG@tok@nd}{\def\PYG@tc##1{\textcolor[rgb]{0.67,0.13,1.00}{##1}}}
32+
\@namedef{PYG@tok@s}{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
33+
\@namedef{PYG@tok@sd}{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
34+
\@namedef{PYG@tok@si}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.64,0.35,0.47}{##1}}}
35+
\@namedef{PYG@tok@se}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.67,0.36,0.12}{##1}}}
36+
\@namedef{PYG@tok@sr}{\def\PYG@tc##1{\textcolor[rgb]{0.64,0.35,0.47}{##1}}}
37+
\@namedef{PYG@tok@ss}{\def\PYG@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
38+
\@namedef{PYG@tok@sx}{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
39+
\@namedef{PYG@tok@m}{\def\PYG@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
40+
\@namedef{PYG@tok@gh}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}}
41+
\@namedef{PYG@tok@gu}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.50,0.00,0.50}{##1}}}
42+
\@namedef{PYG@tok@gd}{\def\PYG@tc##1{\textcolor[rgb]{0.63,0.00,0.00}{##1}}}
43+
\@namedef{PYG@tok@gi}{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.52,0.00}{##1}}}
44+
\@namedef{PYG@tok@gr}{\def\PYG@tc##1{\textcolor[rgb]{0.89,0.00,0.00}{##1}}}
45+
\@namedef{PYG@tok@ge}{\let\PYG@it=\textit}
46+
\@namedef{PYG@tok@gs}{\let\PYG@bf=\textbf}
47+
\@namedef{PYG@tok@ges}{\let\PYG@bf=\textbf\let\PYG@it=\textit}
48+
\@namedef{PYG@tok@gp}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}}
49+
\@namedef{PYG@tok@go}{\def\PYG@tc##1{\textcolor[rgb]{0.44,0.44,0.44}{##1}}}
50+
\@namedef{PYG@tok@gt}{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.27,0.87}{##1}}}
51+
\@namedef{PYG@tok@err}{\def\PYG@bc##1{{\setlength{\fboxsep}{\string -\fboxrule}\fcolorbox[rgb]{1.00,0.00,0.00}{1,1,1}{\strut ##1}}}}
52+
\@namedef{PYG@tok@kc}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
53+
\@namedef{PYG@tok@kd}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
54+
\@namedef{PYG@tok@kn}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
55+
\@namedef{PYG@tok@kr}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
56+
\@namedef{PYG@tok@bp}{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
57+
\@namedef{PYG@tok@fm}{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
58+
\@namedef{PYG@tok@vc}{\def\PYG@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
59+
\@namedef{PYG@tok@vg}{\def\PYG@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
60+
\@namedef{PYG@tok@vi}{\def\PYG@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
61+
\@namedef{PYG@tok@vm}{\def\PYG@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
62+
\@namedef{PYG@tok@sa}{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
63+
\@namedef{PYG@tok@sb}{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
64+
\@namedef{PYG@tok@sc}{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
65+
\@namedef{PYG@tok@dl}{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
66+
\@namedef{PYG@tok@s2}{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
67+
\@namedef{PYG@tok@sh}{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
68+
\@namedef{PYG@tok@s1}{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
69+
\@namedef{PYG@tok@mb}{\def\PYG@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
70+
\@namedef{PYG@tok@mf}{\def\PYG@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
71+
\@namedef{PYG@tok@mh}{\def\PYG@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
72+
\@namedef{PYG@tok@mi}{\def\PYG@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
73+
\@namedef{PYG@tok@il}{\def\PYG@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
74+
\@namedef{PYG@tok@mo}{\def\PYG@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
75+
\@namedef{PYG@tok@ch}{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.24,0.48,0.48}{##1}}}
76+
\@namedef{PYG@tok@cm}{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.24,0.48,0.48}{##1}}}
77+
\@namedef{PYG@tok@cpf}{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.24,0.48,0.48}{##1}}}
78+
\@namedef{PYG@tok@c1}{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.24,0.48,0.48}{##1}}}
79+
\@namedef{PYG@tok@cs}{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.24,0.48,0.48}{##1}}}
80+
81+
\def\PYGZbs{\char`\\}
82+
\def\PYGZus{\char`\_}
83+
\def\PYGZob{\char`\{}
84+
\def\PYGZcb{\char`\}}
85+
\def\PYGZca{\char`\^}
86+
\def\PYGZam{\char`\&}
87+
\def\PYGZlt{\char`\<}
88+
\def\PYGZgt{\char`\>}
89+
\def\PYGZsh{\char`\#}
90+
\def\PYGZpc{\char`\%}
91+
\def\PYGZdl{\char`\$}
92+
\def\PYGZhy{\char`\-}
93+
\def\PYGZsq{\char`\'}
94+
\def\PYGZdq{\char`\"}
95+
\def\PYGZti{\char`\~}
96+
% for compatibility with earlier versions
97+
\def\PYGZat{@}
98+
\def\PYGZlb{[}
99+
\def\PYGZrb{]}
100+
\makeatother

drafts/current/specifications/tex/compliance-and-reporting-entities.tex

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,24 +7,24 @@ \subsubsection{LCFS Pathway}
77

88
CARB-certified fuel pathway for LCFS compliance with carbon intensity and regulatory attributes
99

10-
**🗂️ [View LCFS Pathway in ERD Navigator](erd-navigator/index.html?focus=LCFSPathway)**
10+
** [View LCFS Pathway in ERD Navigator](erd-navigator/index.html?focus=LCFSPathway)**
1111

1212
% LCFS Pathway Entity Table
1313
% Auto-generated from JSON schema
1414

1515
\begin{entitytable}{LCFS Pathway}
1616
\textbf{\field{caGreetVersion}} & string (pattern) & CA-GREET model version used for pathway certification \\
17-
\textbf{\field{carbonIntensity}} & number (0, 200) & Certified carbon intensity in gCO2e/MJ \\
17+
\textbf{\field{carbonIntensity}} & number (\geq 0, \leq 200) & Certified carbon intensity in gCO2e/MJ \\
1818
\textbf{\field{certificationDate}} & string (date) & CARB pathway certification date \\
19-
\textbf{\field{energyEconomyRatio}} & number (0.5, 3.0) & Energy economy ratio multiplier for credit calculation \\
19+
\textbf{\field{energyEconomyRatio}} & number (\geq 0.5, \leq 3.0) & Energy economy ratio multiplier for credit calculation \\
2020
\textbf{\field{facilityLocation}} & string & Production facility location (city, state or geographic region) \\
2121
\textbf{\field{feedstockCategory}} & enum(13 values) & Primary feedstock type for pathway \\
2222
\textbf{\field{fuelProduct}} & enum(8 values) & Final fuel product produced \\
2323
\textbf{\field{pathwayId}} & string (pattern) & CARB-assigned pathway identifier \\
2424
\textbf{\field{pathwayType}} & enum(Lookup_Table, Tier_1, Tier_2) & CARB pathway certification tier \\
2525
\textbf{\field{verificationStatus}} & enum(4 values) & Current CARB verification status \\
2626
\field{expirationDate} & string (date) & Pathway certification expiration date \\
27-
\field{facilityCapacity} & number (0) & Annual production capacity in gallons \\
27+
\field{facilityCapacity} & number (\geq 0) & Annual production capacity in gallons \\
2828
\field{geographicScope} & enum(4 values) & Geographic applicability of pathway \\
2929
\field{lastUpdated} & string (date-time) & Timestamp of most recent pathway data update \\
3030
\field{processDescription} & string & Brief description of production process \\
@@ -37,7 +37,7 @@ \subsubsection{LCFS Reporting}
3737

3838
Quarterly LCFS compliance report for regulated entities with credit calculations and submission tracking
3939

40-
**🗂️ [View LCFS Reporting in ERD Navigator](erd-navigator/index.html?focus=LCFSReporting)**
40+
** [View LCFS Reporting in ERD Navigator](erd-navigator/index.html?focus=LCFSReporting)**
4141

4242
% LCFS Reporting Entity Table
4343
% Auto-generated from JSON schema
@@ -48,9 +48,9 @@ \subsubsection{LCFS Reporting}
4848
\textbf{\field{regulatedEntityId}} & string & Reference to regulated Organization entity \\
4949
\textbf{\field{reportingId}} & string (pattern) & Unique identifier for the quarterly report \\
5050
\textbf{\field{reportingPeriod}} & string (pattern) & Reporting quarter in YYYY-QN format \\
51-
\textbf{\field{totalCreditsGenerated}} & number (0) & Total LCFS credits generated in the reporting period \\
52-
\textbf{\field{totalDeficitsIncurred}} & number (0) & Total LCFS deficits incurred in the reporting period \\
53-
\textbf{\field{totalFuelVolume}} & number (0) & Total fuel volume reported in gallons \\
51+
\textbf{\field{totalCreditsGenerated}} & number (\geq 0) & Total LCFS credits generated in the reporting period \\
52+
\textbf{\field{totalDeficitsIncurred}} & number (\geq 0) & Total LCFS deficits incurred in the reporting period \\
53+
\textbf{\field{totalFuelVolume}} & number (\geq 0) & Total fuel volume reported in gallons \\
5454
\field{VerificationStatementId} & string & Uses EntityNameId convention referencing VerificationStatement for third-part... \\
5555
\field{calculationParameters} & object (structured) & Calculation parameters used for credit computation \\
5656
\field{complianceMetrics} & object (structured) & Additional compliance and environmental impact metrics \\
@@ -70,7 +70,7 @@ \subsubsection{Product Group}
7070

7171
ProductGroup entity in BOOST data model
7272

73-
**🗂️ [View Product Group in ERD Navigator](erd-navigator/index.html?focus=ProductGroup)**
73+
** [View Product Group in ERD Navigator](erd-navigator/index.html?focus=ProductGroup)**
7474

7575
% Product Group Entity Table
7676
% Auto-generated from JSON schema
@@ -96,7 +96,7 @@ \subsubsection{Energy Carbon Data}
9696

9797
EnergyCarbonData entity in BOOST data model
9898

99-
**🗂️ [View Energy Carbon Data in ERD Navigator](erd-navigator/index.html?focus=EnergyCarbonData)**
99+
** [View Energy Carbon Data in ERD Navigator](erd-navigator/index.html?focus=EnergyCarbonData)**
100100

101101
% Energy Carbon Data Entity Table
102102
% Auto-generated from JSON schema
@@ -108,7 +108,7 @@ \subsubsection{Energy Carbon Data}
108108
\textbf{\field{unit}} & enum(8 values) & No description provided \\
109109
\textbf{\field{value}} & number & No description provided \\
110110
\field{caGreetVersion} & string (pattern) & CA-GREET model version used for calculation \\
111-
\field{energyEconomyRatio} & number (0.5, 3.0) & Energy economy ratio for LCFS credit calculation \\
111+
\field{energyEconomyRatio} & number (\geq 0.5, \leq 3.0) & Energy economy ratio for LCFS credit calculation \\
112112
\field{humidityConditions} & number & No description provided \\
113113
\field{lcfsPathwayType} & enum(4 values) & LCFS pathway tier classification \\
114114
\field{lifeCycleStage} & enum(6 values) & Lifecycle stage for carbon intensity data \\
@@ -136,15 +136,15 @@ \subsubsection{Data Reconciliation}
136136
\end{itemize}
137137
\end{informative}
138138

139-
**🗂️ [View Data Reconciliation in ERD Navigator](erd-navigator/index.html?focus=DataReconciliation)**
139+
** [View Data Reconciliation in ERD Navigator](erd-navigator/index.html?focus=DataReconciliation)**
140140

141141
% Data Reconciliation Entity Table
142142
% Auto-generated from JSON schema
143143

144144
\begin{entitytable}{Data Reconciliation}
145145
\textbf{\field{discrepancy}} & number & No description provided \\
146-
\textbf{\field{forestMeasurement}} & number (0) & No description provided \\
147-
\textbf{\field{millMeasurement}} & number (0) & No description provided \\
146+
\textbf{\field{forestMeasurement}} & number (\geq 0) & No description provided \\
147+
\textbf{\field{millMeasurement}} & number (\geq 0) & No description provided \\
148148
\textbf{\field{reconciliationDate}} & string (date-time) & No description provided \\
149149
\textbf{\field{reconciliationId}} & string & No description provided \\
150150
\textbf{\field{reconciliationStatus}} & enum(pending, resolved, disputed) & No description provided \\
@@ -154,7 +154,7 @@ \subsubsection{Data Reconciliation}
154154
\field{reconciliationOperator} & string & No description provided \\
155155
\field{resolutionNotes} & string & No description provided \\
156156
\field{speciesDiscrepancies} & array<string> & No description provided \\
157-
\field{tolerancePercentage} & number (0, 100) & No description provided \\
157+
\field{tolerancePercentage} & number (\geq 0, \leq 100) & No description provided \\
158158
\field{transactionId} & string & No description provided \\
159159
\end{entitytable}
160160

@@ -172,7 +172,7 @@ \subsubsection{Mass Balance Account}
172172
\end{itemize}
173173
\end{informative}
174174

175-
**🗂️ [View Mass Balance Account in ERD Navigator](erd-navigator/index.html?focus=MassBalanceAccount)**
175+
** [View Mass Balance Account in ERD Navigator](erd-navigator/index.html?focus=MassBalanceAccount)**
176176

177177
% Mass Balance Account Entity Table
178178
% Auto-generated from JSON schema

0 commit comments

Comments
 (0)