Skip to content

--protocol-check A-9 passes on a template ambiguity log ("_No entries._") #106

Description

@cloudronin

uofa import --protocol-check reports A-9 satisfied for an AMBIGUITY_LOG.md
whose entire content states that it has no entries.

Observed on a package produced by a downstream tool, uofa 0.12.0, pack
nasa-7009b:

✓ ambiguity log present and non-empty   AMBIGUITY_LOG.md, 210 chars

The file, in full (211 bytes):

# Ambiguity log

_No entries._

A-9 requires an entry whenever the source underdetermines a field,
whenever a cross-standard mapping is not mechanical, or whenever the
source answers the same question two ways.

The check appears to test presence and byte length. Both hold for the template,
so an encoding passes A-9 by shipping the file it was given and never writing in
it. The downstream tool's own gate reports the same encoding as A-9 OWED -- the ambiguity log is empty, which is the correct reading.

Why this matters beyond a strictness question. A-9 is one of the steps whose
whole purpose is that an unresolved reading is recorded rather than silently
settled. A gate that a template satisfies is correct on the ordinary case -- a
missing log -- and vacuous on the important one, which is the failure mode the
protocol is written against.

Suggested check: require at least one entry, not at least one byte -- a
heading and a _No entries._ marker should read as zero entries. If a
deliberately empty log is a legitimate end state for some encodings, it should
have to be asserted (an explicit "no ambiguities were found" record with an
actor and a timestamp), so that the empty case is a decision rather than a
default.

Reproducer: any package whose AMBIGUITY_LOG.md is the unmodified template.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions