code wiki / (root) / nx_ipdock_lib.nx

nx_ipdock_lib.nx

buildroot/runtime/nx_ipdock_lib.nx

5654 B120 linesdepth 7pulls 12 transitivereach 2 importersview sourcekind library
docsdependenciesstructsconstsfunctions

about

nx_ipdock_lib.nx -- IP DOCKETING: patent and trademark deadlines, and which of them are survivable. The category malpractice insurers price highest. Most litigation deadlines can be extended, refiled or forgiven. IP deadlines mostly cannot: miss the Paris Convention priority year and the priority claim is gone permanently, worldwide, with no petition available. So the load-bearing distinction here is not "late or not" but u2605WHICH DEADLINES HAVE A GRACE PERIOD AND WHICH ARE IRRECOVERABLE. Paris Convention (Art 4): 12 months from the priority date to file abroad. IRRECOVERABLE. PCT national phase: 30 months from priority. Late entry is possible in some offices but never assumed here -- treated as irrecoverable so the docket never quietly relies on a discretionary remedy. US patent maintenance fees: due at 3.5 / 7.5 / 11.5 years from grant, each with a SIX-MONTH GRACE window at a surcharge. Late-but-within-grace is PAYABLE, not lost -- calling it lost abandons a live patent, which is the mirror-image error and just as expensive. US trademark s8 declaration: between years 5 and 6 from registration, six-month grace. US trademark s9 renewal: between years 9 and 10, six-month grace. u2605FAIL-CLOSED ON DATES: an unknown priority, grant or registration date yields IPD_UNKNOWN -- never a computed deadline. A fabricated IP deadline is worse than none, because it will be trusted. All periods are DATA (rule 11) as named constants in days, not literals buried in branches. STRUCTURE: pure decision core, zero I/O. license_tier: ORIGINAL LIB.

dependencies 1 imports · 2 importers

nx_matter_lib.nx nx_ipdock_lib.nx nx_ipdock_gate.nx nx_legal_svc.nx

imports: nx_matter_lib.nx

imported by: nx_ipdock_gate.nxnx_legal_svc.nx

structs

none

consts

24const IPD_UNSET: i64 = 0 - 2000000002
25const IPD_UNKNOWN: i64 = 0 - 1
27const IPD_OPEN: i64 = 0
28const IPD_GRACE: i64 = 1
29const IPD_LOST: i64 = 2
31const IPD_PARIS_DAYS: i64 = 365
32const IPD_PCT_DAYS: i64 = 913
33const IPD_MAINT1_DAYS: i64 = 1278
34const IPD_MAINT2_DAYS: i64 = 2739
35const IPD_MAINT3_DAYS: i64 = 4200
36const IPD_GRACE_DAYS: i64 = 182
37const IPD_TM_S8_OPEN_DAYS: i64 = 1826
38const IPD_TM_S8_DUE_DAYS: i64 = 2191
39const IPD_TM_S9_OPEN_DAYS: i64 = 3287
40const IPD_TM_S9_DUE_DAYS: i64 = 3652

functions

43func ipd_deadline_pure(anchor: i64, period_days: i64) -> i64
49func ipd_paris_pure(priority: i64) -> i64 { return ipd_deadline_pure(priority, IPD_PARIS_DAYS) }
called by 1: main calls 1: ipd_deadline_pure
50func ipd_pct_pure(priority: i64) -> i64 { return ipd_deadline_pure(priority, IPD_PCT_DAYS) }
called by 1: main calls 1: ipd_deadline_pure
53func ipd_status_hard_pure(deadline: i64, asof: i64) -> i64
called by 2: mainleg_ip_deadline
61func ipd_status_grace_pure(deadline: i64, asof: i64, grace_days: i64) -> i64
71func ipd_surcharge_due_pure(status: i64) -> i64
called by 2: mainleg_ip_deadline
77func ipd_recoverable_pure(status: i64) -> i64
84func ipd_days_remaining_pure(deadline: i64, asof: i64, grace_days: i64) -> i64
called by 1: main
93func ipd_window_status_pure(open_day: i64, due_day: i64, asof: i64, grace_days: i64) -> i64
called by 1: main calls 1: ipd_status_grace_pure
102func ipd_tm_filable_pure(open_day: i64, due_day: i64, asof: i64, grace_days: i64) -> i64
111func ipd_exposure_pure(lost: i64, unknown: i64) -> i64 { return lost + unknown }
called by 1: main
113func ipd_status_label(s: i64, out: *u8) -> i64
called by 2: mainleg_ip_deadline calls 1: mt_catcopy