---
# System prepended metadata

title: 2026-01-12 Update

---

# 2026-01-12 Update

## `research` repo known values updates

- Code points 1,000-1,999 have now been reserved for "community, specification required"
- Other ontologies have had code points allocated more conservatively. Other than schema.org, which starts at code point 10,000, all the other ontologies occupy code points from 2,000-2,999.
- "community, first-come-first-served" still starts at code point 100,000.
- Ontologies often define concepts with similar or identical short names, e.g., `decription`. Our known value to name mapping now prefixes every concept from a supported ontology with an identifying prefix, e.g., `foaf:Group`.
- Where early Blockchain Commons assignments (e.g., `isA` code point 1) are understood to be identical to concepts from existing ontologies
- See the master allocation table in [BCR-2023-002](https://github.com/BlockchainCommons/Research/blob/master/papers/bcr-2023-002-known-value.md#assigned-code-point-ranges).

## `known-values` crate now supports loading from directory

The `known-values` crate has been updated so that it looks in `~/.known-values/` for JSON files of the same format that the assigner tools in the `research` repo output. Create this directory and populate it with [these files](https://github.com/BlockchainCommons/Research/tree/master/known-value-assignments/json):

```
0_blockchain_commons_registry.json
1000_community_registry.json
10000_schema_registry.json
100000_community_registry.json
2000_rdf_registry.json
2050_rdfs_registry.json
2100_owl2_registry.json
2200_dce_registry.json
2300_dct_registry.json
2500_foaf_registry.json
2700_skos_registry.json
2800_solid_registry.json
2900_vc_registry.json
```

- All tools that use this crate (including the updated `envelope` tool) will now automatically have access to all the allocated known values and their names.
- The crate still contains the built-in Blockchain Commons assignments.
- Any code points defined in the JSON files override any conflicting hardcoded definitions in the crate.
- A feature gate exists to let adopters of this crate opt out of automatic directory reading.

Example using `envelope` 0.31.0 and with the JSON files in `~/known-values/`:

```
envelope subject type known 'foaf:Group'

│ ur:envelope/cfassfpeoljyfh

envelope format ur:envelope/cfassfpeoljyfh

| 'foaf:Group'

envelope format --type diag ur:envelope/cfassfpeoljyfh

200(2508)
```

## `vscode-bc-editing` VS Code extension released

I wrote a [new VS Code extension](https://github.com/BlockchainCommons/vscode-bc-editing) containing two commands that help editors use the `| ` prefix that appears before output in Blockchain Commons documentation examples and tutorials.

Install the extension using the `Install from VSIX` command then reload the window to activate. See the README.

**Command: `Output Prefix Selection`**

Shortcut: `Command-Option-\`

Modifies the editor selection:

- Every line starts with the `| ` prefix.
- If every line in the prefix already has the prefix, they are removed.
- If lines are mixed, the prefix is added.

So if the selection is:

```
file1.txt
| file2.txt
file3.txt
```

The result after running the command is:

```
| file1.txt
| file2.txt
| file3.txt
```

**Command: `Output Prefix Paste`**

Shortcut: `Command-Option-Shift-\`

A common workflow when editing is to run a command in the terminal, paste the output into the editor, and then add the prefix before each line. The `Output Prefix Paste` command pastes the select *and* adds the prefix to the start of the line, saving a step every time.

## Updated the `bc-rust` workspace

The `bc-rust` workspace has been updated, including the addition of three Claude skills:

### `/bc-tutorial-format`

Standards for formatting Blockchain Commons tutorial and instructional content.

### `/expected-text-output-rubric`

Guidelines for using expected text output in tests to compare actual output to expected output in a clear and maintainable way, especially for complex structures.

### `/release-next-crate`

Orchestrator for releasing crates in the bc-rust workspace in dependency order. Guides you through the release phases. Use `/release-next-crate auto` to perform all phases, stopping only if something goes unexpectedly.

## XID-Quickstart Tutorial 2 Review and Edit

I have completely gone through [Tutorial 2](https://github.com/wolfmcnally/XID-Quickstart/blob/main/tutorials/02-building-persona.md), editing it extensively according to what I consider to be best current practices. As with Tutorial 1, this effort required both extending the functionality of the `envelope` tool, and also turned up a couple bugs I fixed. See also the file with a few [additional comments](https://github.com/wolfmcnally/XID-Quickstart/blob/main/tutorials/02-wolf-comments.md) I made.

## Featured Crate Releases: January 12, 2026

### bc-envelope-cli 0.31.0: December 22, 2025

- Add `xid export` command with controlled private key and generator handling.
- Add `--private` and `--generator` options to all XID-modifying commands.
- Add support for known-values directory loading feature
- Improve documentation for XID export workflows.
- Add comprehensive tests for export functionality.

### known-values 0.15.0 - January 11, 2026

- Add directory-based JSON registry loading (default: ~/.known-values/)
- Add run_tests.sh script for testing feature combinations
- Fix value override to properly remove old name mappings
- [Crates.io](https://crates.io/crates/known-values/0.15.0)
- [GitHub](https://github.com/BlockchainCommons/known-values-rust)

### bc-xid 0.20.0 - January 11, 2026

- Align to dependencies
- [Crates.io](https://crates.io/crates/bc-xid/0.20.0)
- [GitHub](https://github.com/BlockchainCommons/bc-xid-rust)

### provenance-mark 0.20.0 - January 11, 2026

- Align to dependencies
- [Crates.io](https://crates.io/crates/provenance-mark/0.20.0)
- [GitHub](https://github.com/BlockchainCommons/provenance-mark-rust)

### dcbor-cli 0.17.0 - January 11, 2026

- Align to dependencies
- [Crates.io](https://crates.io/crates/dcbor-cli/0.17.0)
- [GitHub](https://github.com/BlockchainCommons/bc-dcbor-cli)

### bc-envelope-pattern 0.12.0 - January 11, 2026

- Align to dependencies
- [Crates.io](https://crates.io/crates/bc-envelope-pattern/0.12.0)
- [GitHub](https://github.com/BlockchainCommons/bc-envelope-pattern-rust)

### dcbor-pattern 0.11.0 - January 11, 2026

- Align to dependencies
- Fix type inference in test
- [Crates.io](https://crates.io/crates/dcbor-pattern/0.11.0)
- [GitHub](https://github.com/BlockchainCommons/bc-dcbor-pattern-rust)

### dcbor-parse 0.11.0 - January 11, 2026

- Align to dependencies
- [Crates.io](https://crates.io/crates/dcbor-parse/0.11.0)
- [GitHub](https://github.com/BlockchainCommons/bc-dcbor-parse-rust)

### bc-envelope 0.41.0 - January 11, 2026

- Align to dependencies
- Add support for known-values directory loading feature
- [Crates.io](https://crates.io/crates/bc-envelope/0.41.0)
- [GitHub](https://github.com/BlockchainCommons/bc-envelope-rust)
