# 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)