=== Exact envelope factorization ===
f|_Q = (a**3*d - b**3*c)*(a*c**3 + a*c*d**2 - a*d**3 - b*c**3 - b*c**2*d - 2*b*c*d**2 + b*d**3)

=== Irreducibility over Q ===
factor_list(F_C) = (1, [(a**3*d - b**3*c, 1)])
factor_list(F_D) = (1, [(a*c**3 + a*c*d**2 - a*d**3 - b*c**3 - b*c**2*d - 2*b*c*d**2 + b*d**3, 1)])
gcd(F_C,F_D) = 1

=== Bidegrees ===
F_C: {(3, 1)}
F_D: {(1, 3)}
F_C F_D: {(4, 4)}

=== Full-class numerical gate ===
degree=4 and self-intersection=-2 survivors: [(1, 3), (3, 1)]

=== Primitive-square gate at level (3,3) ===
(0, 1, 1, 0, -2, Fraction(-9, 4))
(0, 2, 2, -1, -4, Fraction(-5, 1))
(0, 3, 3, -2, -6, Fraction(-33, 4))
(1, 0, 1, 0, -2, Fraction(-9, 4))
(1, 1, 2, 0, -2, Fraction(-3, 1))
(1, 2, 3, 0, -2, Fraction(-17, 4))
(1, 3, 4, 0, -2, Fraction(-6, 1))
(2, 0, 2, -1, -4, Fraction(-5, 1))
(2, 1, 3, 0, -2, Fraction(-17, 4))
(2, 2, 4, 1, 0, Fraction(-4, 1))
(2, 3, 5, 2, 2, Fraction(-17, 4))
(3, 0, 3, -2, -6, Fraction(-33, 4))
(3, 1, 4, 0, -2, Fraction(-6, 1))
(3, 2, 5, 2, 2, Fraction(-17, 4))
primitive-square=-6 survivors: [(1, 3), (3, 1)]

=== Information quotient sanity ===
Annihilator scale invariance: I_{c alpha}=I_alpha for c != 0
Primitive quotient erases hyperplane-class component.
Therefore numerical gates must be typed by information mode.

=== Realizability conclusion ===
Since f|_Q has exactly two irreducible coprime factors,
the only irreducible divisor components of S∩Q are:
  type (3,1): F_C
  type (1,3): F_D
All other signature-level divisor aliases fail ambient realizability.

ALL EXACT CHECKS PASSED.
Spreadsheet runtime warmup failed during python startup
Traceback (most recent call last):
  File "/tmp/tmp.L2TH2Y5coc/artifact_tool_v2-2.8.22/artifact_tool/patches/warm_spreadsheet_runtime_on_startup.py", line 26, in warm_spreadsheet_runtime_on_startup
  File "/tmp/tmp.L2TH2Y5coc/artifact_tool_v2-2.8.22/artifact_tool/spreadsheet_warmup.py", line 785, in warm_spreadsheet_runtime
  File "/tmp/tmp.L2TH2Y5coc/artifact_tool_v2-2.8.22/artifact_tool/spreadsheet_warmup.py", line 720, in _warm_feature_flows
  File "/tmp/tmp.L2TH2Y5coc/artifact_tool_v2-2.8.22/artifact_tool/spreadsheet_warmup.py", line 704, in _warm_collaboration_flows
  File "/tmp/tmp.L2TH2Y5coc/artifact_tool_v2-2.8.22/artifact_tool/generated/interface/models.py", line 32317, in hydrate_crdt_from_proto
  File "/tmp/tmp.L2TH2Y5coc/artifact_tool_v2-2.8.22/artifact_tool/rpc/remote.py", line 749, in __call__
  File "/tmp/tmp.L2TH2Y5coc/artifact_tool_v2-2.8.22/artifact_tool/rpc/client.py", line 150, in call
artifact_tool.rpc.client.RemoteError: hydrateCrdtFromProto requires an empty collaborative document.
