Docs & Rules

projectnessie/nessieGitHubLast refreshed Oct 3, 2026

This is a public, read-only report. Striff reads this repository's docs, turns each sentence that makes a claim about the code into a rule, and checks the rule against the code on the default branch. How this works

3 names in these docs no longer match the code.

mainbb034e2listed 2h ago

Is this yours? Install to manage it

Once installed, Striff checks every pull request.

18
8
5
3
1
1
1
9
9
9
9
1 stale
2 stale
51 docs, listed Oct 3
projectnessie/nessieOpen repository

Names these docs write that the code no longer has3

Each sentence below names a type the default branch doesn't declare, or declares somewhere else. Edit the doc so it matches the code, or bring the type back.

  • GoneAccessChecker
    The SPI is named [AccessChecker](https://github.com/projectnessie/nessie/blob/main/servers/services/src/main/java/org/projectnessie/services/authz/AccessChecker.java) and uses [AccessContext](https://github.com/projectnessie/nessie/blob/main/servers/services/src/main/java/org/projectnessie/services/authz/AccessContext.java), which carries information about the overall context of the operation.

    The repository once held servers/services/src/main/java/org/projectnessie/services/authz/AccessChecker.java. It doesn't now. Closest names there: BatchAccessChecker, RetriableAccessChecker, AbstractBatchAccessChecker.

    View on GitHub

  • GoneAbstractNessieExporter
    Export functionality, based on [AbstractNessieExporter](https://github.com/projectnessie/nessie/blob/main/versioned/transfer/src/main/java/org/projectnessie/versioned/transfer/AbstractNessieExporter.java) to dump commits, named references, heads+fork points.

    The repository once held versioned/transfer/src/main/java/org/projectnessie/versioned/transfer/AbstractNessieExporter.java. It doesn't now. Closest name there: NessieExporter.

    View on GitHub

  • GoneAbstractNessieImporter
    Import functionality, based on [AbstractNessieImporter](https://github.com/projectnessie/nessie/blob/main/versioned/transfer/src/main/java/org/projectnessie/versioned/transfer/AbstractNessieImporter.java) to load the exported data.

    The repository once held versioned/transfer/src/main/java/org/projectnessie/versioned/transfer/AbstractNessieImporter.java. It doesn't now. Closest name there: NessieImporter.

    View on GitHub

projectnessie/nessie — documented rules

18 of 18 rules, printed October 3, 2026.

The sentence in your docs
Read Oct 3
Access checks start by creating an instance of BatchAccessChecker from the implementation of the [Authorizer interface](../servers/services/src/main/java/org/projectnessie/services/authz/Authorizer.java), which looks like this: interface Authorizer { BatchAccessChecker startAccessCheck(AccessContext context); }
Authorizer has a startAccessCheck method
HoldsPR #6954 · Sep 30
Read Oct 3
Access checks start by creating an instance of BatchAccessChecker from the implementation of the [Authorizer interface](../servers/services/src/main/java/org/projectnessie/services/authz/Authorizer.java), which looks like this: interface Authorizer { BatchAccessChecker startAccessCheck(AccessContext context); }
Authorizer depends on BatchAccessChecker
Holds
Read Oct 3
Access checks start by creating an instance of BatchAccessChecker from the implementation of the [Authorizer interface](../servers/services/src/main/java/org/projectnessie/services/authz/Authorizer.java), which looks like this: interface Authorizer { BatchAccessChecker startAccessCheck(AccessContext context); }
Authorizer depends on AccessContext
Holds
Read Oct 3
The actual check operation is triggered by calling either check(), which returns the failed checks with a description or by calling checkAndThrow(), which throws an AccessControlException if at least one check failed.
BatchAccessChecker has a check method
Holds
Read Oct 3
The actual check operation is triggered by calling either check(), which returns the failed checks with a description or by calling checkAndThrow(), which throws an AccessControlException if at least one check failed.
BatchAccessChecker has a checkAndThrow method
Holds
Read Oct 3
The EventSubscriber interface is a typical Service Provider Interface (SPI) that subscribers must implement, then make available on the server's classpath via the ServiceLoader API.
EventSubscriber is a contract
Holds
Read Oct 3
Optionally, the subscriber can also override the method getEventFilter().
EventSubscriber has a getEventFilter method
Holds
Read Oct 3
At startup, Nessie will invoke the onSubscribe(EventSubscription) method and pass to the subscriber an EventSubscription instance that will contain useful information (to be determined) about the Nessie instance.
EventSubscriber has an onSubscribe method
Holds
Read Oct 3
The Event interface has a getType() method that returns the type of the event.
Event has a getType method
Holds
Read Oct 3
All contents object must have an id field.
IcebergTable has id
Holds
Read Oct 3
All contents object must have an id field.
IcebergView has id
Holds
Read Oct 3
All contents object must have an id field.
DeltaLakeTable has id
Holds
Read Oct 3
All contents object must have an id field.
Namespace has id
Holds
Read Oct 3
All contents object must have an id field.
UDF has id
Holds
Read Oct 3
The state of an Iceberg view is represented using the attributes versionId, schemaId, sqlText and dialect.
IcebergView has a versionId field
Holds
Read Oct 3
The state of an Iceberg view is represented using the attributes versionId, schemaId, sqlText and dialect.
IcebergView has a schemaId field
Holds
Read Oct 3
The state of an Iceberg view is represented using the attributes versionId, schemaId, sqlText and dialect.
IcebergView has a sqlText field
Holds
Read Oct 3
The state of an Iceberg view is represented using the attributes versionId, schemaId, sqlText and dialect.
IcebergView has a dialect field
Holds
18 rules from 4 docs

See these where the change is. The browser extension puts a pull request's doc findings, and a diagram of what it changed, on the GitHub page itself, so the code and what your docs say about it are side by side.