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