[P0-04] Remove the broken duplicate server document encoder and decoder #12
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/starintel-server#12
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Confirmed defects
dev:source/databases/couchdb.lispimplements a second codec with multiple correctness failures:as-jsoncallsslot-valuewithout checkingslot-boundp.to-jsonpath.from-jsonuseswhen value, so present JSONfalseis treated as absent.(or null string)are passed throughevaland recursively treated as classes.t, including ordinary untyped fields, are recursively decoded as classT.sb-mopuse.Related actor-side decode defects:
with-jsonreads dataset from the misspelled key"datast".parse-docinterns untrusteddtypetext into theSPECpackage and treats it as a class selector, without a registered dtype/class allowlist.Normal StarIntel documents containing
dtypeor_revcan therefore fail to decode or change meaning during round-trip.Required changes
closer-mopwhere introspection remains necessary.internclass selection with a versioned dtype→document-class registry and reject unknown types before decode.with-jsonkey macros and make them call the canonical document API.Acceptance tests
Start with failing regression tests for every defect listed above. All shared conformance fixtures from the preceding issue must pass. Add explicit tests for the dataset key, unknown dtype rejection, symbol-table non-growth from rejected dtypes, and registered class selection.
Active implementation: PR #64 (
agent/issue-12-remove-duplicate-codec).The branch replaces the active database codec with canonical wrappers, adds a versioned dtype→CLOS class registry, removes request-controlled interning from actor parsing, fixes dataset access, and adds executable regression coverage. Waiting on required conformance CI.
Completed via merged PR #64.
Validation:
Merge commit:
786d292c7a28661281c55118197c3708d8b8f61e.