I'm thinking about splitting crafting in the following, which is similar to your idea:
By defeating an enemy or trap or whatever, you have a chance of getting fragments. They will be either passive, active, or class specific, such as:
A tiny fragment of Blue (passive)
A vast fragment of Hammer (item)
A large fragment of Goosebumps (active)
A diminutive fragment of Train (creature)
An immense fragment of Wrench (trap)
You can find fragments of active blue for example, but you wont be able to craft them together. You can only craft fragments with others of the same word & type. Once you put enough fragments of passive blue together, you would get for example:
The adjective blue (passive)
Which is an useable item for mixing later. On that point you can either mix another "passive adjective blue" in it, creating a stronger adjective blue (up to the number of letters in the word, so a blue can be upgraded four times) or mix it with another word that is not an adjective. For example, if you mix blue and hammer you get:
A blue hammer (passive item)
Which means it is an item that only alters your stats if carried along. This is also subject to the same rule as before, if you craft a second blue hammer, you can mix both together and upgrade the result up to 10 times in this case. Later on, you could for example want to apply another adjective or noun to it:
A feathered blue hammer (passive item)
And this new item will be able to be upgraded up to 19 times if you have the patience for it.
Since I don't think there will be any levels or skills to be learned by the character, I wouldn't impose any hard limits to the crafting as in, the game wont tell you cannot craft anymore because an item is maxed. You can always add more words to an item. The soft limits will be the number of times you can upgrade an word/phrase, the effectiveness of it's byte size as you may end up with something huge that you cannot feasibly carry along, and some odds of fragments breaking off the item when you craft, decreasing stats slightly.
Passive/Active adjectives might have the following effects:
Passive Item - Nothing you can trigger in combat, just wear it for stats/armor/etc.
Active Item - Will have some activation in combat, such as an attack or an effect or a boost, or a mix of all that
Passive Trap - Hidden trap that waits for you to step on it
Active Trap - Visible trap that you have to overcome somehow, like swinging blades for example
Passive Creature - One of the following: Doesn't attack until provoked (by being attacked or seeing friends being attacked), hidden like a ninja waiting for you to get closer, camper, blocker (will just stand in your way without attacking (until attacked) to mess your movement), coward (will keep running away and hiding behind things), and so on
Active Creature - One of the following: Berserker (will walk in range and attack non-stop), charger (attack, run away), suicidal exploding creature (Shhhhhhh), virus (spawns copies of itself), and so on.
So basically, what you see is what you get.
If you see a blue parrot being a coward and hiding, you may get fragments of passive blue and creature parrot. If it has a green Bill Cosby but never used it to attack, you may get fragments of passive green and item Bill and item Cosby.
As to determine the quality of the words you got, you should be able to guesstimate by the size in bytes or compare it with another word to see the difference. I don't really want to just put stats out there in numerical format, otherwise that might kill a bit of the fun. The number of times something has been upgraded should be visible somehow, however. Kind of like "a green hammer" so you can tell it has 3 upgrades, but no idea how many upgrades the individual words had before. I might put only the highest stat on display, that way at least you know what it is good for.
At least that's my idea.